运行cap deploy
会返回错误
ERROR: Repository not found.
fatal: The remote end hung up unexpectedly
失败:“env PATH = $ HOME / .rbenv / shims:$ HOME / .rbenv / bin:$ PATH sh -c'if [-d ... / shared / cached-copy];然后cd .. ./shared/cached-copy& amp;& git fetch -q origin&& git fetch --tags -q origin&& git reset -q --hard e54354271256196e54354271256196&& git clean -q -d -x -f;否则git clone -q -b new_front git@github.com:myapp.git ... / shared / cached-copy&& cd / shared / cached-copy&& git checkout -q -b 部署ced405a4d2b184ccadf844185e54354271256196; ''' 192.111.111.111
但是当我ssh到服务器并运行那个确切的命令时,它可以工作。
我已尝试删除cached-copy
中的set :deploy_via, "remote_cache"
和评论{{1}},但没有任何作用。
感谢
编辑:
答案 0 :(得分:17)
我必须跑:
ssh-add
将我的身份添加到身份验证代理。
答案 1 :(得分:10)
原来问题是ssh代理转发问题。
https://help.github.com/articles/using-ssh-agent-forwarding
Capistrano已成立
ssh_options[:forward_agent] = true
本地我有两个ssh密钥,不知何故在本地使用的密钥与通过forward_agent使用的密钥不同。如果服务器上有密钥,则可以设置
ssh_options[:forward_agent] = false
否则,清除您的密钥并添加您需要的密钥(在Mac上,ssh-add -D
和ssh-add path/to/key
)。