アウトプットログ

チラシの裏からの脱出に向かう線形のブログ

迷走記録とHeroku Application Error (Sinatra)

TOMONIがスタートしてはや3週間が経つ。ここ最近の迷走っぷりを記しておこう。

1月に何度も失敗したSinatraアプリのHeroku デプロイを試すため、Rails Tutorial 1章を参考にしてRailsアプリの作成からHerokuデプロイまでやってみる

                   ↓

何度も試すが失敗が続き、ふと職場のWindows PCを用いてCloud9で試したところ成功

全く同じように自分自身のMacBookで試すがやはり失敗

MacBookを初期化、まっさらな環境でMacBookからCloud9に繋いで試したところ今度は成功

(デプロイできた内容は "Hello World"を表示させるだけのもの)

                   ↓

Hello Worldのデプロイが確認できたので、Cloud9上に過去にProgate Ruby on Railsをやりながら試作していた「ほぼProgate自作アプリ」を移植するという課題に取り掛かる

こちらに取り掛かろうとしたところ、なんと!「ほぼProgateアプリ」をバックアップの失敗で消していたことに気が付く

また、バックアップには成功していたSinatra アプリがRubyバージョンの干渉等で動かず、かつリンクしたPostgresqlのデータも消してしまっていることに気が付く

                   ↓

Rails Tutorial動画は購入済み。しかしまずは移植とデプロイをやらないといけない雰囲気の中、独力でデータベースを使ったアプリがまずCloud9上でできるのか?という疑問がわく

職場の研究者と雑談していた際、そもそもAWSは素人には危ないのではないかというお話を聞かされる

SSH公開鍵承認の方法を調べ、試す、なんとなく理解

そんな頃Dockerのハンズオンを受講する機会が得られる

                   ↓

メンターに相談した結果、Docker上でRails環境を作ってアプリ制作を進めるという方向に

                   ↓

Dockerについてハンズオン復習と、教科書学習の上 Docker でRails開発環境を作る勉強をする

                   ↓

DockerでRails+Heroku UP (クリアできた)

                   ↓

DockerでRails + Postgres + Heroku UP   ←今ここ 全然うまくいかない。特にPostgresとActiveRecordのあたりでつまづく。こちらのエラーは次に詳しくログする予定。

辛くなってきたので、ちょっと戻って ローカルでSinatra アプリを使える状態にするため、Rbenvなどで設定の上、Postgresqlでデータベース、テーブルを作成。ローカルで使えるようにした。良かった。

それを持って、Herokuデプロイを試した結果出たエラーが下記です。つまりこれが1月中に何度も何度も出していたApplication Errorの中身です。

2020-02-24T08:45:39.933513+00:00 heroku[web.1]: State changed from crashed to starting
2020-02-24T08:45:42.122713+00:00 heroku[web.1]: Starting process with command `bundle exec ruby heroku_study.rb -p 12155`
2020-02-24T08:45:45.276520+00:00 heroku[web.1]: State changed from starting to crashed
2020-02-24T08:45:45.279904+00:00 heroku[web.1]: State changed from crashed to starting
2020-02-24T08:45:45.114952+00:00 app[web.1]: heroku_study.rb:5:in `<main>': uninitialized constant ActiveRecord (NameError)
2020-02-24T08:45:45.260192+00:00 heroku[web.1]: Process exited with status 1
2020-02-24T08:45:47.060911+00:00 heroku[web.1]: Starting process with command `bundle exec ruby heroku_study.rb -p 19040`
2020-02-24T08:45:49.134296+00:00 heroku[web.1]: State changed from starting to crashed
2020-02-24T08:45:49.117858+00:00 heroku[web.1]: Process exited with status 1
2020-02-24T08:45:49.069069+00:00 app[web.1]: heroku_study.rb:5:in `<main>': uninitialized constant ActiveRecord (NameError)
2020-02-24T08:45:50.365616+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=boiling-spire-98775.herokuapp.com request_id=6b20b719-f2df-4d1a-b165-96302597ccc3 fwd="222.14.238.32" dyno= connect= service= status=503 bytes= protocol=https
2020-02-24T08:45:51.113023+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=boiling-spire-98775.herokuapp.com request_id=087eb9ee-5d04-4fa8-92bc-33d67b32c45e fwd="222.14.238.32" dyno= connect= service= status=503 bytes= protocol=https