83's

Top > Tags > capistrano

capistrano

タイトル一覧を表示 | 本文を表示

capistranoメモ October 27, 2007 19:19

capistranoってバージョンとか環境とか変わったときにトラブルなく動いたことないような気がする。 知らないことだらけでいつもググるカスになってるオレだから、 もう同じことを検索窓に書き込むのも鬱なのでメモっとく。

こんなのが出たんよ。

yz@prime % cap deploy:web:disable                                                                                  [eniblo]
  * executing `deploy:web:disable'
    servers: ["eniblo.com"]
connection failed for: eniblo.com (Errno::ENOENT: No such file or directory - /tmp/ssh-dbgwju6194/agent.6194)

10日前は問題なかったから、これはubuntuをgusty gibbonにしたからかな。 ssh-agentの説明を読みつつ

eval `ssh-agent`
ssh-add ~/.ssh/id_rsa

としたらいけた。ふむ。ssh-agentだのkeychainだの、なんだろうと思いつつ使ってなかったな。 秘密鍵はパスワードなしにしてたけどこっちにしよう。

次はcap deploy中に

 ** [err] Permission denied (publickey,password,keyboard-interactive).

とか出てsvn coが失敗した。ホッとした矢先にこれだよ!

Permission denied (publickey,keyboard-interactive)のがそうかなと思ってconfig/deploy.rbに

   default_run_options[:pty] = true 

でいけた。

rake remote:disable_webのhtmlのテンプレート May 12, 2007 22:20

rake remote:disable_web

すると/system/maintenance.htmlを作ってくれるけど、 このページのテンプレートとかどうなってんのか知らなくて今まで使ってなかった。

カレントディレクトリにmaintenance.rhtmlがある場合はそっちを使ってくれる。 ない場合は`gem env gempath`/gems/capistrano-x.x.x/lib/capistrano/recipes/templates/maintenance.rhtml。

maintenance.rhtml内ではreasonとdeadlineという変数が使えて、

rake remote:disable_web REASON=理由 UNTIL=期日

とすればそれぞれに代入されるみたい。これは便利。