Cap部署-错误:未找到存储库



我继承了一个项目,对开发方面很满意,但系统操作很差,Capistrano部署也失败了。对于以前开发人员部署过的项目:

cap deploy:check

运行良好,导致

You appear to have all necessary dependencies installed

但当我尝试部署时,我会得到

...
ERROR: Repository not found.
...

我有:

  • 三次检查github repo地址
  • 已确认我可以在本地机器上从回购中推拉罚款
  • 确认我可以通过SSH从服务器连接到github
  • 已确认我可以在服务器上克隆repo fine
  • 尝试启用和禁用代理转发
  • 已确认.git/config和config/deploy.rb中的repo路径匹配

目前,当代理转发关闭时,从服务器到github的SSH将返回上一个开发人员的信息,该开发人员仍然可以访问github repo。

Hi xxxxxx! You've successfully authenticated, but GitHub does not provide shell access.

当代理转发打开时,我显示为经过身份验证的用户。

有解决这个问题的技巧吗?非常高兴有一个像样的URL通过故障排除。

好的,通过一个消除过程来解决。这是"deploy.rb"中的以下行

set :deploy_via, "remote_cache"

当这被注释掉时,它会很好地部署。如果我取消对它的注释,它会以相同的错误再次中断。所以这似乎就是问题所在。

我不知道为什么会发生这种事。但现在,我要结束这个。

我知道我玩游戏太晚了,但我刚刚在一个从Github转移到Bitbucket的项目中遇到了这个问题。我能够在Bitbucket上从回购中结账、更新、推送/提取,但在转到Bitbucket后,我最初的上限部署中断了。

简单的答案是需要删除服务器上的远程缓存。SSH到服务器中,并删除capistrano创建的shared目录中的整个cached-copy目录。您的共享和发布目录的位置可能与我的不同,但这就是我所要做的:

rm -rf www/shared/cached-copy

在此之后,我能够毫无问题地进行部署。

希望这能帮助其他可能遇到这个问题的人。

有关疑难解答提示,特别是因为您是从GitHub repo部署的,我建议查看GitHub指南中的使用Capistrano部署。该指南还链接到另一个您应该查看的关于管理部署密钥的指南。

CCD_ 4可能在CCD_ 5中丢失或不正确。这可能会导致"成功的身份验证,但没有shell访问权限"错误。

关于仍使用先前开发人员凭据的脚本,capistrano脚本在服务器上登录的系统帐户(例如set :user, "deployer")可能在~/.ssh中具有脚本可能期望使用的先前开发人员私钥。如果是这种情况,您应该根据指南重新配置脚本以使用SSH代理转发,该指南将使脚本开始使用您的密钥。

最新更新