Capistranoではまらない!Railsをデプロイするまでの完全手順

   

capistranoの設定

Railsで作成したWEBアプリケーションのデプロイでよく利用されるCapistranoですが、そのインストールや設定手順について悩まれている方は多いのではないでしょうか。

このページでは、Capistranoのインストールや設定手順について説明していきます。
私がCapistranoでRailsのWEBアプリケーションのリリースができるまでの手順を文章化していますので、参考になると思います。ぜひお役立てください。

Capistrano3のインストール

Capistranoの公式ドキュメントに沿ってインストールを行います。

Gemfileの編集

Gemfileを編集して必要なライブラリを追加します。

 

 

変種が終わりましたらgemのインストールをしましょう。コマンドは次のとおりです。

設定ファイル等の編集

設定ファイル等の編集をしていきます。

まずCapfileではデプロイに利用するgemを指定します。指定の方法は「#」のコメントを外せばOKです。

通常のRailsアプリケーションはbundler、assets、migrationsは必須でしょう。

また、アプリケーション・サーバーの種類によってはpassenger、Rubyのバージョン管理ツールに合わせてrvmやrbenvを選びましょう。

次にdeploy.rbの設定を行います。
今回はソースのリビジョン管理をgitとしています。gitリポジトリをサーバーにチェックアウトしてデプロイする方式で設定を進めていきます。deploy.rbの設定前後のdiffは下記のとおりです。

gitリポジトリの指定、database.ymlやsecrets.yamlのシンボリックリンクの指定、logフォルダ等のシンボリックリンクの指定、rbenvを利用しているのでその指定をしています。

 

続いて、デプロイ先のサーバーやその接続方法を指定します。

「server-based syntax」の箇所にサーバー情報を追加していきます。
今回はWEBサーバー、アプリケーション・サーバー、DBサーバーすべて同じサーバーの男前構成でいきます。

 

サーバーサイドの準備

デプロイ先のサーバーの設定を行います。

デプロイ先となるフォルダの作成と権限の付与

続いて、デプロイに必要なフォルダ等をツールを使って生成します。

クライアント側から下記のコメンドを実行します。

必要なフォルダ等が作られるため、データベースの接続情報とシークレットキーをサーバーの環境のものにセットします。

具体的には下記フォルダをproduction用に編集しましょう。

  • /var/www/projects/web_walker/shared/config/database.yml
  • /var/www/projects/web_walker/shared/config/secrets.yml

Railsアプリケーションのリリース

いよいよデプロイです。下記のコマンドでデプロイされます。とても楽ですね!

が、失敗します。

原因は本番サーバーのDBにないことが理由でした。そのため、下記コマンドを実行してDBを作成しましょう。

DBの作成が完了したら、もう一度リリースしてみましょう。

私の場合はこれで完了!動作検証もOKでした!

みなさんもぜひお試しください!