🥚

本番環境でのコード変更の反映 コマンド一覧

2023/11/26に公開

本番環境設定後にコードを変更し、本番環境に反映させたい!
そんな時、変更のたびに手順を調べるのは手間なのでコピペできるように一覧にしたいと思います。

注意

  • 事前にGithubのmainの状態を最新にしておく。
  • EC2のインスタンスを開始(実行中)にしておく。

コマンド一覧

  • EC2ログイン〜pumaの起動〜pumaの停止
コマンド(手順) 動作
ssh -i ~/.ssh/practice-aws.pem ec2-user@IPアドレス EC2へのログイン
cd アプリケーション名 アプリケーションディレクトリへ移動
git pull origin main gitの最新版mainブランチをpull
rails s -e production pumaの起動
kill $(cat tmp/pids/puma.pid) pumaの停止
  • 本番環境でdatabaseをリセットしたい場合
コマンド(手順) 動作
RAILS_ENV=production DISABLE_DATABASE_ENVIRONMENT_CHECK=1 bundle exec rails db:drop datebase.ymlの設定に従ってデータベースを削除
rails db:create RAILS_ENV=production datebase.ymlの設定に従ってデータベースを作成
rails db:migrate RAILS_ENV=production 未実行のマイグレーションファイルを実行
  • 本番環境でseedファイルを読み込みたい時
    (seedファイルがある場合は、databaseリセットした流れでだいたいやると思います)
コマンド(手順) 動作
bundle exec rails db:seed RAILS_ENV=production seedファイルの読み込み
  • 開発環境でdatabaseの変更があった場合
コマンド(手順) 動作
bundle exec rails db:migrate RAILS_ENV=production マイグレーションファイルを実行
  • 開発環境でCSS/JavaScript/画像の変更があった場合
コマンド(手順) 動作
bundle exec rails assets:precompile RAILS_ENV=production プレコンパイルを実行
  • 開発環境でGemfileの変更があった場合
コマンド(手順) 動作
bundle install --path vendor/bundle --without test development bundle installを実行

補足

IPアドレスの確認方法

  • EC2>インスタンス>対象のインスタンスのチェックボックスにチェック>詳細>パブリック IPv4アドレスをコピー

EC2の開始・停止方法

  • EC2の開始はEC2>インスタンス>対象のインスタンスIDのあたりを右クリック>インスタンスの停止
  • EC2の停止はEC2>インスタンス>対象のインスタンスIDのあたりを右クリック>インスタンスの開始

参考にした記事

Discussion