【问题标题】:Capistrano ERROR: Repository not foundCapistrano 错误:未找到存储库
【发布时间】:2013-12-03 07:21:37
【问题描述】:

运行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 && 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",如Cap deploy - ERROR: Repository not found 中所述,但没有任何效果。

谢谢

编辑:

类似问题: https://gist.github.com/ParkinT/2432735

【问题讨论】:

  • 刚刚赞成,因为删除远程缓存解决了我的问题,感谢评论集:deploy_via,“remote_cache”

标签: github capistrano


【解决方案1】:

我不得不跑:

ssh-add

将我的身份添加到身份验证代理。

【讨论】:

  • 但我的消息错误是:致命:无法从远程存储库读取。
【解决方案2】:

原来问题出在 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 -Dssh-add path/to/key)。

【讨论】:

  • set :ssh_options, forward_agent: false 添加到 config/deploy/production.rb 解决了 CircleCI 上的这个问题。