デプロイの為、Capistrano を使ってみる。
環境は、WindowsXP のクライアント開発環境から、CentOS5.5 のリモートサーバ上へ。
まずは、クライアント開発環境にて、capistrano を gemでインストール。
$ gem install capistrano $ gem install capistrano-ext
クライアント開発機のアプリのフォルダへ移動して、capifyコマンド。
$ capify . [add] writing './Capfile' [add] writing './config/deploy.rb' [done] capified!
まずは、sshで怒られる。ログインユーザがwindowsのユーザ名(xxxx)になっていた。
$ cap deploy:setup * executing `deploy:setup' Password: connection failed for: www.whoocus.com (Net::SSH::AuthenticationFailed: xxxx)
capify で生成された deploy.rb に追記。
set :user, "app"
今度は、sudoコマンドは、tty でなければならないと怒られる。
$ cap deploy:setup * executing `deploy:setup' Password: [****] sudo: sorry, you must have a tty to run sudo
サーバ側で、visudo にてsudo のデフォルト設定を変更しなくてはならない。
# コメントアウト #Defaults requiretty
またも怒られる。
$ cap deploy:setup * executing `deploy:setup' Password: no tty present and no askpass program specified
再度、サーバ側で、visudo にてsudo のデフォルト設定を追記。
# 追記 Defaults visiblepw
リモートサーバ上に、デプロイ用のディレクトリができている。
やっとうまく行った。