1)背景
自動デプロイはcapstranoなどありますが、簡単に自動化するため、以下のshellを作成しました。このshellを使えば、手数はかなり減ります。
2)環境
項目 | 内容 |
---|---|
OS.Amazon Linux AMI | release 2018.03 |
Ruby | v2.5.1 |
Ruby On Rails | v5.2.4.3 |
MySQL | v5.6 |
Unicorn | v5.4.1 |
3)内容
(1) AWSの対象インスタンスの再起動
インスタンスを再起動することで、現在稼働しているアプリが停止します。
(2) shellを実行する(ホームディレクトリの配下に配置する)
以下のshellを実行することで、必要なサービスの起動と、アプリの起動を行います。
サービスを起動する前には、必要なgitプル、scssやJavascriptのコンパイルを行います。
auto-service.sh
#/bin/sh
#任意ディレクトリへ移動
cd /var/www/☆アプリ名; sleep 5; echo `pwd`;
#git-pullする。
echo "get!! new-master.. wait 5sec"; sleep 5;
git pull origin master;
#Assetsのプレコンパイル
echo "precompile!!";sleep 5;
rails assets:precompile RAILS_ENV=production
#NGINXの開始
sudo service nginx start; sudo service nginx status; sleep 5;
#MySQLの開始
sudo service mysqld start; sudo service mysqld status; sleep 5;
#アプリ開始
echo "Rails Start!!!!!!!!!!!!!!"
RAILS_SERVE_STATIC_FILES=1 unicorn_rails -c config/unicorn.rb -E production -D
以上、よければご活用ください。