Rails

【AWS】自動でデプロイ作業をしてくれるCapistranoが超便利なので解説するよ

AWS

 

今回は自動でデプロイ作業を行ってくれるCapistranoと、その導入まで解説したいと思います。Capistranoは、複雑なデプロイ作業を簡単にしてくれる超便利なツールなので積極的に使っていきましょう。

この記事は前回の続きとなっています。

↓前回の記事はこちら

AWS
【AWS環境構築】WebサーバーであるNginxの導入と設定方法を簡単に解説!WebサーバーであるNginxの導入とその設定方法、アプリケーションサーバーについて解説しています。Webサーバーとアプリケーションサーバーの概念は非常に重要になってくるので、この機会にしっかりマスターしましょう。...

Capistranoとは

Capistranoとは、複雑なコマンドをたくさん打たなければならないデプロイ作業を、コマンド1つで一括で行ってくれるツールです。これにより、コマンドの打ち間違いや手順ミスが大幅に無くなります。

 

手動でデプロイを行う場合は、下図のような作業をしなければなりません。それに加えて、アセットのコンパイルとUnicornの再起動も必要です。

手動デプロイ

 

しかしCapistranoを使った自動デプロイの場合は、①のgit pushのみを行うだけでデプロイ作業が完了してしまいます。(下図)

Capistrano

Capistranoの導入

Capistranoを導入するには、Capistrano関連のgemを入れなければなりません。

Gemfileを以下のように編集しましょう。記述が完了したら、「bundle install」を実行します。

↓ Gemfile

group :development, :test do
  gem 'capistrano'
  gem 'capistrano-rbenv'
  gem 'capistrano-bundler'
  gem 'capistrano-rails'
  gem 'capistrano3-unicorn'
end

 

 

次に以下のコマンドをターミナルで打ちます。

↓ ターミナル(ローカル)

$ bundle exec cap install

 

すると以下のようなファイルが生成されます。

↓ capistrano関連のファイルが生成

cap install

capfile

Capistranoの機能はいくつかのライブラリ(Gem)に分かれています。そのためCapistranoを動かすには、それらのライブラリを読み込む必要があります。

Capfileは、Capistrano関連のライブラリのうちどれを読み込むかを指定します。

その他ファイル(production.rb、staging.rb、deploy.rb)

Githubへの接続に必要なsshキーの指定など、Capistranoを動かすための記述が様々書かれています。ここについては、次回の記事で設定を行っていきます。

まとめ

  • Capistranoとは、複雑なコマンドをたくさん打たなければならないデプロイ作業を、コマンド1つで一括で行ってくれるツールである
  • Capistranoを使った自動デプロイの場合、git pushのみを行うだけでデプロイ作業が完了する

 

 

今回は自動でデプロイ作業を行ってくれる「Capistrano」と、その導入まで解説しました。次回はいよいよ自動デプロイをするための準備に入っていきたいと思います。