読者です 読者をやめる 読者になる 読者になる

Software Engineer and Web Developer's Diary

1年後の自分に向けて

Capistrano3

公式サイト

英語だし分かりにくいけど、ある程度 Capistrano3 に慣れてきたら参照しよう。 http://capistranorb.com/

まずはインストールして使ってみよう

Capistrano のインストール

Capistrano のインストールは簡単です。RubyGems がインストールされていれば、以下コマンドを実行するだけ。

$ gem install capistrano

これでインストールされます。私は MacBook Pro で試しましたが問題なくンストールできました。

設定ファイルのひな形の作成

Capistrano を使うためにまずはひな形ファイルを作成します。

$ cap install

これだけで以下のようなひな形ファイルが作成されます。

├── Capfile
├── config
│   ├── deploy
│   │   ├── production.rb
│   │   └── staging.rb
│   └── deploy.rb
└── lib
    └── capistrano
            └── tasks

設定ファイルの編集

次は設定ファイルを編集します。git からソースを取得してアップロードするだけの設定ファイルを作ってみましょう。

アプリケーション名と git リポジトリの指定

アプリケーション名と利用する git リポジトリを設定します。

$ vi config/deploy.rb

以下のように設定すると "/var/www/my_app_name" フォルダ以下に、repo_url の git から取得したソースがデプロイされます。

set :application, 'my_app_name'
set :repo_url, 'git@example.com:me/my_repo.git'

デプロイサーバの指定

$ vi config/deploy/staging.rb

今回は vagrant を使ってみました。

server '192.168.33.10', user: 'vagrant'

デプロイする

あとは以下コマンドを実行するだけで vagrant にアップロードされます。

$ cap staging deploy

デプロイ後 vagrant の "/var/www/my_app_name" ディレクトリ以下に、次の様なディレクトリが作成されます。current がシンボリックリンクになっていて、実際のソースは releases 以下に保存されています。

├── current -> /var/www/my_app_name/releases/20150120114500/
├── releases
│   ├── 20150080072500
│   ├── 20150090083000
│   ├── 20150100093500
│   ├── 20150110104000
│   └── 20150120114500
├── repo
│   └── <VCS related data>
├── revisions.log
└── shared
    └── <linked_files and linked_dirs>

単純なデプロイならこれだけで利用できます。