capistrano (2)

実際動かしてみないと始まらんだろ、ということで諸々試験を。とりあえず git clone ができるかな、ということで以下な deploy.rb を作成してみた。

$ cat config/deploy.rb
set :application, "gitosis-web-admin"
set :repository,  "github.com/yamanetoshi/gitosis-web-admin.git"

set :scm, :git
set :branch,      'master'
set :deploy_via,  :copy
set :deploy_to,   "/home/user/#{application}"
set :user,        "user"
$

あ、サーバな記述が無いや。以下を追加。

server 'example.com', :app, :web, :db

で、最初は

$ cap deploy:setup

なんですが失敗。no tty present and no askpass program specified とのこと。以下を追加して OK でした。

default_run_options[:pty] = true

材料以下。

で、次は

$ cap deploy:cold

なんですがまたしても失敗。なんか repository な記述がアレらしい。やっぱプロトコルな記述が必要なんじゃん。

set :repository,  "git://github.com/yamanetoshi/gitosis-web-admin.git"

でも失敗。なんか rollback してたりしてるな。む、リモート側見てみたら権限が root になっとるな。何故だ。
以下を参考に

これを追加して

set :admin_runner, "user"

実行したら user な権限でディレクトリ作成されてますね。続いて deploy:cold してみたのですが一応処理は正常終了。
ただ、階層が微妙に深いんですが、これってどうするんだろ。てーか、色々な意味で微妙ですね。とりあえず current 配下が、と思えば良いのか。

この後

clone したソレに対して script を upload して云々しないといけない、ので作戦を練りつつ動作確認の方向。