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
以上、よければご活用ください。