🐣
デプロイエラーの見方とその後の反映
* メモ書き(間違ってたらすみません)
クラウド9のターミナルと
EC2のターミナルを開いておく
ssh -i ~/.ssh/practice-aws.pem ec2-user@xx.xx.xx.xx
1. エラーを確認するには、一度、
rails s -e production
で、 ブラウザ起動させる。
2. ブラウザでリロードしてから、EC2に戻ると、ターミナルに
エラー文表示される。
3.エラー文を確認して、いつも通り変更を行う。
4.本番環境で確認するには、git pushをしないといけないので、
git add .
git commit -m
git push origin main
をクラウド9で行う。
5.EC2戻って、今pushした最新をpullしてくる。(また、色々変更したのちのデプロイなら、pull最初にする)
git pull origin main
6.また、ブラウザを起動させる
rails s -e production
で、ブラウザで最新の状態を見ることができる。
#画像の表示が大きいため、サイズ変更を行ったら、またエラーが出た。
- ローカル上で、画像の変更や、画像のサイズ変更を行う
- 上記と同じように、gitpushする
- EC2に戻り、上記と同じpullしてくる
- EC2で、
bundle exec rails assets:precompile RAILS_ENV=production
5.EC2で
bundle exec rake tmp:cache:clear
6.EC2で
kill $(cat tmp/pids/puma.pid)
7.EC2でまた起動させる
rails s -e production
※スーパーリロードすること(command/R/shift)
* メンターさんに聞いたこと。
EC2に、"warning"これはエラーではあるけど、気をつけてね!
って言う注意書きの事が多い。
assetsに入れた画像の名前が、数字だと、今は動いても数字が原因で、エラーが出てしまうことがあるから、やめたほうがいい。
* 本番環境では、データがデータまっさら。
ローカルで登録していたユーザーや、投稿は全く反映されない。
- seed.rbを本番環境に反映させる
rails db:seed RAILS_ENV=production
これを実行した後に、スーパーリロードすれば、反映される。
私の場合は、一つマイグレーションされてないのがあるよと、表示。
You have 1 pending migration:
20240710015857 CreateRelationship
この場合は、
rails db:migrate RAILS_ENV=production
これをしてから、
rails db:seed RAILS_ENV=production
これでまた起動しなおしたらできた!
Discussion