WindowsXPクライアント開発機から、CentOS5.5サーバへcapstrano で下記エラー。
Ruby 1.9.3 will raise SystemCallError in this case
デプロイ設定で丸1日程ハマっている…。
$ cap deploy * executing `deploy' * executing `deploy:update' ** transaction: start * executing `deploy:update_code' executing locally: "svn info http://svn.server.host/repos/xxxx --username hoge --password hoge --no-auth-cache -rHEAD" c:/ruby1.9.2/lib/ruby/gems/1.9.1/gems/capistrano-2.9.0/lib/capistrano/recipes/deploy.rb:97: warning: failed to set environment variable. Ruby 1.9.3 will raise SystemCallError in this case. *** [deploy:update_code] rolling back * executing "rm -rf /app/xxxx/releases/20111217022544; true" servers: ["svn.server.host"] Password: [svn.server.host] executing command command finished in 422ms c:/ruby1.9.2/lib/ruby/gems/1.9.1/gems/capistrano-2.9.0/lib/capistrano/recipes/deploy.rb:106:in ``': No such file or directory - svn info http://svn.server.host/repos/xxxx --username hoge --password hoge --no-auth-cache -rHEAD (Errno::ENOENT) from c:/ruby1.9.2/lib/ruby/gems/1.9.1/gems/capistrano-2.9.0/lib/capistrano/recipes/deploy.rb:106:in `block in run_locally'
Capstranoのデプロイ時、サーバ上でsvnコマンドを発行していると思い込んでいたのだが、WindowsXPクライアント開発機でコマンドラインでの問題のようだと疑ってみる。
クライアント開発機でSVNコマンドライン実行できないとダメなのか?
TortuiseSVN はインストール済みだし、 CapstranoをインストールしていればクライアントからのSVN取得は問題ないと勝手に思い込んでいた。
とにかく、SVN CLI で検索してみて1番上に引っ掛かった下記ツールをダウンロード&インストールしてみた。
$ cap deploy * executing `deploy' * executing `deploy:update' ** transaction: start * executing `deploy:update_code' executing locally: "svn info http://svn.server.host/repos/xxxx --username hoge --password hoge --no-auth-cache -rHEAD" command finished in 2406ms
とりあえずのエラー回避。