有点新的capistrano部署所以我正在努力让这个正常工作。我发现另一个条目说这是一个符号链接问题,但我不认为是因为“cap dev deploy”正确地创建了当前的符号链接。我在这个服务器上有一个stage和一个dev环境(/ apps / myhost / dev和/ apps / myhost / stage),我希望将我最近的git更改从git推送到dev环境。我以应用程序用户身份登录并执行:
cap dev deploy
我收到以下错误:
failed: "rvm_path=/usr/local/rvm /usr/local/bin/rvm-shell 'ree@myhost' -c 'bundle install --gemfile /apps/myhost/dev/releases/20110526014237/Gemfile --path /apps/myhost/dev/shared/bundle --deployment --quiet --without development test'" on dev.myhost.com
之前有很多:
rm: cannot remove directory `/apps/myhost/dev/releases/20110526014237/test/functional': No such file or directory
我认为rm错误是因为目录和文件已经被清除但是我不确定为什么rvm_path rvm-shell会失败?
答案 0 :(得分:1)
如果您通过SSH进入自己运行失败命令会发生什么?看起来它没有安装捆绑包。你有Bundler安装吗?我从未使用过Cap在/ apps /下部署两个环境。你能让它只用一个环境吗?最后,我会尝试修复这些rm错误,然后再尝试解决它们之后的任何问题。一次一件事。
答案 1 :(得分:1)
选中我的/ apps / myapp / dev / config / deploy /目录并找到这些文件:
dev.rb
stage.rb
prod.rb
设置了角色和服务器变量,因此尝试部署两次导致锁定。删除了服务器系列并能够部署。
关于信任;将此行添加到config / deploy.rb:
task :trust_rvmrc do
run "rvm rvmrc trust #{latest_release}"
end