🥚
本番環境でのコード変更の反映 コマンド一覧
本番環境設定後にコードを変更し、本番環境に反映させたい!
そんな時、変更のたびに手順を調べるのは手間なのでコピペできるように一覧にしたいと思います。
注意
- 事前に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のあたりを右クリック>インスタンスの開始
参考にした記事
- rails db dropの参考記事
https://railsdoc.com/page/rails_db_drop - rails db createの参考記事
https://railsdoc.com/page/rails_db_create
Discussion