🐣

デプロイエラーの見方とその後の反映

2024/07/09に公開

* メモ書き(間違ってたらすみません)

クラウド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

で、ブラウザで最新の状態を見ることができる。

#画像の表示が大きいため、サイズ変更を行ったら、またエラーが出た。

  1. ローカル上で、画像の変更や、画像のサイズ変更を行う
  2. 上記と同じように、gitpushする
  3. EC2に戻り、上記と同じpullしてくる
  4. 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