前提
- Railsでアプリケーションを作成している
- AWSの初期設定が完了しており、EC2のインスタンスなども起動し、既にアプリケーションをデプロイしている
- Capistranoによる自動デプロイ設定が完了している
本記事の目的
- 作成したアプリケーションにローカルで変更を加えたので、AWSで本番環境にも変更を反映させたい
- AWS EC2のプッシュ方法をいつも忘れてしまうので、備忘録代わりに投稿しておきたい
手順
1.ローカル環境での変更をgithub上のmasterブランチへプッシュ
2.EC2へログイン
terminal
~ % cd .ssh
.ssh % ssh -i example.pem ec2-user@更新したいアプリケーションのElastic IP
3.EC2内のアプリケーションのリポジトリへ移動
terminal
[ec2-user@ip-○○○-○○-○○-○○ ~]$ cd /var/www/アプリケーション名
4.現在動いているサーバーを落とす
terminal
[ec2-user@ip-○○○-○○-○○-○○ リポジトリ名]$ ps aux | grep unicorn
↓
「unicorn master -c」の文字があるプロセスIDを探す
↓
[ec2-user@ip-○○○-○○-○○-○○ リポジトリ名]$ kill プロセスID
↓
exit を実行し、EC2インスタンスからログアウト
5.ローカルの更新したいアプリケーションのディレクトリにて自動デプロイを実行
terminal
アプリケーション名 % bundle exec cap production deploy
6.Elastic IPよりアクセスし。変更が反映されているか確認
以上。