迷走記録と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