Cap deploy – 错误:找不到存储库

我inheritance了一个项目并且对开发方面很满意,但是系统性能差,而且Capistrano部署失败了。 对于之前由开发人员部署过的项目:

cap deploy:check 

运行良好,导致

 You appear to have all necessary dependencies installed 

但是当我尝试部署时,我得到了

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

我有:

  • Triple检查了github repo地址
  • 确认我可以从本地机器上的回购推送和拉动
  • 确认我可以通过SSH从服务器连接到github
  • 确认我可以在服务器上克隆repo
  • 试图打开和关闭代理转发
  • 确认repo路径匹配.git / config和config / deploy.rb

此时,当代理转发时,来自服务器的SSH进入github将返回前一个dev的信息,该开发者仍然可以访问github repo。

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

启用代理转发时,我将显示为已通过身份validation的用户。

解决这个问题的任何提示? 对于通过排除故障进行排序的正常URL非常高兴。

好的,通过消除过程弄明白了。 它是’deploy.rb’中的以下行

 set :deploy_via, "remote_cache" 

当这被注释掉时,它会很好地部署。 如果我取消注释它,它会再次出现相同的错误。 所以这肯定是问题所在。

我不知道为什么会发生这种情况。 但就目前而言,我会关闭它。

我知道我已经迟到了,但我刚刚遇到了一个项目,我从Github搬到了Bitbucket。 我能够在没有问题的情况下从Bitbucket的回购中检出,更新,推/拉,但是在转移到Bitbucket之后我的初始上限部署已经破了。

简短的回答是需要删除服务器上的远程缓存。 SSH进入您的服务器,并删除capistrano创建的shared目录中找到的整个cached-copy本目录。 您的共享和发布目录的位置可能与我的不同,但这是我必须做的全部:

rm -rf www/shared/cached-copy

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

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

对于故障排除提示 – 特别是因为您从GitHub仓库部署 – 我建议查看GitHub指南以使用Capistrano进行部署 。 该指南还链接到您应该检查的有关管理部署密钥的另一个指南。

config/deploy.rb default_run_options[:pty]可能丢失或不正确。 这可能导致“成功的身份validation,但没有shell访问”错误。

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