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

时间:2012-07-12 01:56:34

标签: ruby-on-rails capistrano

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

cap deploy:check

运行良好,导致

You appear to have all necessary dependencies installed

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

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

我有:

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

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

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

启用座席转发功能后,我会将其显示为经过身份验证的用户。

有关解决此问题的任何提示吗?非常高兴能够通过排除故障的正确网址。

3 个答案:

答案 0 :(得分:6)

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

set :deploy_via, "remote_cache"

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

我不知道为什么会发生这种情况。但是现在,我会关闭它。

答案 1 :(得分:2)

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

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

rm -rf www/shared/cached-copy

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

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

答案 2 :(得分:0)

对于疑难解答提示 - 特别是因为您要从GitHub仓库部署 - 我建议您查看Deploying with Capistrano的GitHub指南。该指南还链接到您应该在managing deploy keys上查看的其他指南。

default_run_options[:pty]中的

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

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