Rya*_*wis 11 ruby capistrano ruby-on-rails ruby-on-rails-3
当我跑步时cap deploy,Capistrano将尝试创建一个文件夹,如$HOME/sites/MY_APP/releases/TIMESTAMP.我可以看到该命令试图运行,但它实际上不会创建该文件夹.
我可以直接从Capistrano输出中复制命令并通过SSH运行命令,它可以正常工作,没有任何问题.
该命令看起来如此:
cp -RPp /home/some_user/sites/my_cool_app/shared/cached-copy /home/some_user/sites/my_cool_app/releases/20111123164239 && (echo 59bf115868c2430cd0475ca1596998f1cfa3c084 > /home/some_user/sites/my_cool_app/releases/20111123164239/REVISION)
Run Code Online (Sandbox Code Playgroud)
为什么命令会通过Capistrano失败,但通过SSH终端成功?
Ste*_*ith 22
我仍然不确定问题的范围,但删除线:
set :deploy_via, :remote_cache
Run Code Online (Sandbox Code Playgroud)
解决了我的问题.它看起来像是一个没有创建版本目录的bug,因此删除该行会跳过该步骤.如果你想保留remote_cache,一个更好的方法可能是添加另一个设置步骤,如下所示:
after "deploy:setup", "deploy:create_release_dir"
namespace :deploy do
task :create_release_dir, :except => {:no_release => true} do
run "mkdir -p #{fetch :releases_path}"
end
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5221 次 |
| 最近记录: |