🐥

デプロイ

2023/09/04に公開

デプロイで使用したコードまとめ!

Cloud9からEC2へログイン

ssh -i ~/.ssh/practice-aws.pem ec2-user@EC2のパブリックIPアドレス

ログインを解除するときはexitを入力

アプリケーションサーバーの起動

rails s -e production

アプリケーションサーバーの停止

kill $(cat tmp/pids/puma.pid)

この動作を行うとブラウザで確認しても閲覧できなくなる。
killの後にプロセスID(実行中のプログラム識別番号)を指定して実行することで対象のプロセスを終了することができる。

今回用いた方法ではtmp/pids/puma.pidにPumaのプロセスIDというものが存在しているため、上記脳ような書き方になった。

デプロイ後の運用

デプロイした後もいろいろ修正するところあると思う!その時どうすればいいかの流れ!

まずは

まずはいつも通りCloud9でリモートリポジトリにpushしておく。

づぎに

つぎに、Cloud9からEC2へ移動する。
移動後、cd アプリケーション名でアプリケーションへの移動を行う。

そして

git pull origin ブランチ名

を行う。

Gemfileを変更していた場合

bundle install --path vendor/bundle --without test development

CSS/JavaScript/画像の変更を行っていた場合

bundle exec rails assets:precompile RAILS_ENV=production

本番環境ではCSS、JavaScript、静的画像はpublic以下にファイルが出力されます。
静的画像はpublic/assetsへ出力され、CSSとJavaScriptはpublic/packsへと出力されます。
そのためCSSやJavaScript、静的画像が変更された場合は、再度プリコンパイルを行い、public/assets、public/packs以下にcssファイルやjsファイル、静的画像を再度、生成する必要がある。
上記のコマンドを実行することでプリコンパイルが行われる。

マイグレーションファイルの追加や変更を行っていた場合

bundle exec rails db:migrate RAILS_ENV=production

Discussion