2012年6月13日水曜日

capistrano deploy:setupで毎回failedする対処法

$cap deploy:setup をすると毎回
ばーっと流れてきて、
最後に

failed: "rvm_path=$HOME/.rvm/ $HOME/.rvm/bin/rvm-shell '1.9.3' ・・・と出てくるわけです。で、この後ろに、mkdir hogehoge しろって書いてあるんで、試すんですが、


    [myapp.org] executing command
 ** [out :: myapp.org] mkdir: /home/Hoge: Operation not supported
 ** [out :: myapp.org] mkdir: /home/Hoge: Operation not supported
 ** [out :: myapp.org] mkdir: /home/Hoge: Operation not supported
 ** [out :: myapp.org] mkdir: /home/Hoge: Operation not supported
 ** [out :: myapp.org] mkdir: /home/Hoge: Operation not supported
 ** [out :: myapp.org] mkdir: /home/Hoge: Operation not supported


て拒絶されます。
ってことで、capistranoでエラーが出ている文献が少なく苦労したので、対処法書きます。

問題は、パスがおかしいってことと、mkdirがsudoがないとできないことです。

てことで、mkdirを事前に作ってあげて、そこにパスを通してあげればいいんじゃね??
っていう結論になりました。

以下方法です。
まずディレクトリを作成
$sudo mkdir var/www

パスを通すために、deploy.rb内に今作ったディレクトリを指定してあげます。


set :repository"#{user}@#{domain}:git/#{application}.git" 
set :deploy_to, "/var/www/#{application}" 
set :use_sudo, true


↑のように一応sudo権限も与えてあげます。

これでもう一度
$cap deploy:setup
で行きました。
もしできない場合は一度リブートしてあげるといけるかもしれないです。

次は
$cap deploy:checkでつまづいたww

参考文献
http://d.hatena.ne.jp/ntaku/20111115/1321358900