症状
Railsチュートリアルの「第7章 プロのデプロイ」を実施時に事象が発生。
rails sやrails testでアプリをローカル環境で動かしてアプリの動作では問題ないことを確認し、Herokuにデプロイした時の設定ミスなどに問題があると考えました。(Rails 6.0.3を使用)
画像通りheroku logs --tailを入力し、エラーコードにH10が表示されていることが分かりました。
「error code=H10 desc="App crashed"」
heroku logs --tail
#表示されたエラー
at=error code=H10 desc="App crashed" method=GET path="/" host=hidden-depths-37821.herokuapp.com request_id=b127bdcc-e0a9-4bad-a984-4d86ef49c725 fwd="61.215.149.134" dyno= connect= service= status=503 bytes= protocol=https
この記事を参考に、resetを行ったが効果はありませんでした。
どちらも「Couldn't find that app.」とアプリが見つからないと怒られています。
heroku restart -app
#結果
Restarting sample_app dynos on ⬢ pp... !
▸ Couldn't find that app.
もしくは
heroku restart -app application_name
#結果
Restarting sample_app dynos on ⬢ pp... !
▸ Couldn't find that app.
今度はこの記事を見て、heroku appsを実行し、アプリ自体があることを確認しました。
heroku apps
#結果
=== メールアドレス Apps
#heroku上のapp一覧が表示された
heroku-sample-1234
解決策
再度手順を見直し、puma.rbの記載を修正したら解決できました。
puma.rbの中身をRailsチュートリアルのリスト 7.35のみに修正しました。
# Pumaの設定ファイル
max_threads_count = ENV.fetch("RAILS_MAX_THREADS") { 5 }
min_threads_count = ENV.fetch("RAILS_MIN_THREADS") { max_threads_count }
threads min_threads_count, max_threads_count
port ENV.fetch("PORT") { 3000 }
environment ENV.fetch("RAILS_ENV") { ENV['RACK_ENV'] || "production" }
pidfile ENV.fetch("PIDFILE") { "tmp/pids/server.pid" }
workers ENV.fetch("WEB_CONCURRENCY") { 2 }
preload_app!
plugin :tmp_restart
参考
Ruby on Rails チュートリアル 第7章
https://railstutorial.jp/chapters/sign_up?version=6.0#code-production_webserver_config
Herokuでデプロイした際にApplication error(エラーコードH10 (App crashed))が出た時の対処法
https://qiita.com/kents1002/items/e1b90c71897c55b8e870
Heroku CLIで「 ▸ Couldn't find that app.」というエラーが出てきた時の対処メモ
https://qiita.com/at-946/items/ce4db1d80429d6984cfc
Heroku コマンド集
https://qiita.com/yu_eguchi/items/8cd53942b88b7ff2fecb#heroku-apps