capistranoでの初めてのアクセス

デプロイ用のユーザーもできたので、railsのプロジェクトをcapifyして接続をテストします。

$ cd /path/to/rails/project
$ capify .

で、config/deploy.rb が作られているはずなので、それをこんな感じにします。

# -*- coding: utf-8 -*-
require 'mongrel_cluster/recipes'

set :application, "bar"
set :repository,  "file:///var/svn/baz-repo/trunk"
set :user, "bar"
set :use_sudo, false

set :scm, :subversion
set :deploy_via, :remote_cache
set :deploy_to, '/home/bar/capistrano/bar'

role :app, "ホスト名"
role :web, "ホスト名"
role :db,  "ホスト名", :primary => true

desc "接続テスト用のタスク"
task :hello, :roles => [:app, :web, :db] do
  run "echo HelloWorld! $HOSTNAME"
end

ssh-agentあついは、SSHKeychianとか、pagentとかに bar_id_rsaを追加してあげたら、おもむろに、

$ cap hello

とか実行してみましょう。こんな結果になるはずです。

$ cap hello
  * executing `hello'
  * executing "echo HelloWorld! $HOSTNAME"
    servers: ["ホスト名"]
    [ホスト名] executing command
 ** [out :: ホスト名] HelloWorld! ホスト名
    command finished
$