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 して云々しないといけない、ので作戦を練りつつ動作確認の方向。