🐥
デプロイ
デプロイで使用したコードまとめ!
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