LoginSignup
0
0

More than 1 year has passed since last update.

[Rails]Capistranoで自動デプロイで気をつけたいこと

Last updated at Posted at 2021-07-30

はじめに

前回、Capistranoによる自動デプロイを導入しましたが、その中で個人的に、コマンド一つ覚えていればいいかと勝手思っていましたが、自動デプロイする前にやるべきことがあります。

それを簡単に記事に残しておきます。
よろしくお願いします。

ローカルでVScodeを修正した場合

これは単純にアプリの改修や変更を行った場合、必ずリモートリポジトリにコミット、プッシュを行います。
もしブランチを切っている場合はmergeまで行います。

その後、一度プロセスをkillします。
例↓

まずはプロセスを確認します。

ターミナル
[ec2-user@ip-172-31-23-189 <リポジトリ名>]$ ps aux | grep unicorn

ec2-user 17877  0.4 18.1 588472 182840 ?       Sl   01:55   0:02 unicorn_rails master -c config/unicorn.rb -E production -D
ec2-user 17881  0.0 17.3 589088 175164 ?       Sl   01:55   0:00 unicorn_rails worker[0] -c config/unicorn.rb -E production -D
ec2-user 17911  0.0  0.2 110532  2180 pts/0    S+   02:05   0:00 grep --color=auto unicorn

続いてプロセスをkill

ターミナル
# 上記の例だと「17877」
[ec2-user@ip-172-31-23-189 <リポジトリ名>]$ kill プロセス番号

そして最後にローカルのアプリディレクトリでbundle exec cap production deployを実行して完了。

ローカルでデータベース関連の内容を修正した場合

もしデータベース関連の修正を行った場合、まず本番環境で下記の二つのコマンドを実行します。
※実行する際、「DISABLE_DATABASE_ENVIRONMENT_CHECK=1」というオプションが必要です。

ターミナル(本番環境)
rails db:drop RAILS_ENV=production

rails db:create RAILS_ENV=production

その後、一度プロセスをkillします。
例↓

まずはプロセスを確認します。

ターミナル
[ec2-user@ip-172-31-23-189 <リポジトリ名>]$ ps aux | grep unicorn

ec2-user 17877  0.4 18.1 588472 182840 ?       Sl   01:55   0:02 unicorn_rails master -c config/unicorn.rb -E production -D
ec2-user 17881  0.0 17.3 589088 175164 ?       Sl   01:55   0:00 unicorn_rails worker[0] -c config/unicorn.rb -E production -D
ec2-user 17911  0.0  0.2 110532  2180 pts/0    S+   02:05   0:00 grep --color=auto unicorn

続いてプロセスをkill

ターミナル
# 上記の例だと「17877」
[ec2-user@ip-172-31-23-189 <リポジトリ名>]$ kill プロセス番号

そして最後にローカルのアプリディレクトリでbundle exec cap production deployを実行して完了。

Nginxを修正した場合

Nginxの修正を行った場合は下記コマンドを実行します。

ターミナル
sudo systemctl restart nginx

最後に

Capistrano導入後、bundle exec cap production deployのコマンドさえ打てば自動デプロイしてくれると思っていましたが、もう一手間加えないといけなくて、私は少し失敗しました。
このような細かいところもしっかり身につけたいと感じました。

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0