2014-01-29 20 views
7

当我运行一个cap <stage> deploy --trace我:Capistrano的停在混帐:检查

> $ bundle exec cap production deploy --trace 
** Invoke production (first_time) 
** Execute production 
** Invoke load:defaults (first_time) 
** Execute load:defaults 
** Invoke rbenv:validate (first_time) 
** Execute rbenv:validate 
** Invoke rbenv:map_bins (first_time) 
** Execute rbenv:map_bins 
** Invoke bundler:map_bins (first_time) 
** Execute bundler:map_bins 
** Invoke deploy (first_time) 
** Execute deploy 
** Invoke deploy:starting (first_time) 
** Invoke deploy:set_shared_assets (first_time) 
** Execute deploy:set_shared_assets 
** Execute deploy:starting 
** Invoke deploy:check (first_time) 
** Execute deploy:check 
** Invoke git:check (first_time) 
** Invoke git:wrapper (first_time) 
** Execute git:wrapper 
INFO [d204de77] Running /usr/bin/env mkdir -p /tmp/control-panel/ on 10.0.1.6 
INFO [d204de77] Finished in 0.274 seconds with exit status 0 (successful). 
INFO Uploading /tmp/prey-control-panel/git-ssh.sh 100.0% 
INFO [a9e748c9] Running /usr/bin/env chmod +x /tmp/control-panel/git-ssh.sh on 10.0.1.6 
INFO [a9e748c9] Finished in 0.274 seconds with exit status 0 (successful). 
** Execute git:check 

它就停在那里。我认为问题与我的其他公钥有关。我以DevOps的身份工作,我经常使用大约5个不同的密钥。

任何想法?我应该删除所有的密钥还是其他? :)

谢谢。

+0

很难说没有看到git的源代码:check capistrano task。你能发布全部或部分代码吗? –

+0

@GregBurghardt这是git:check任务http://pastebin.com/3tCpk7jb –

+2

你能从命令行运行'git ls-remote repo_url'吗?如果该命令在生产服务器上运行,您是否可以登录到服务器并运行该命令? –

回答

1

我有一个类似的问题,事实证明,我需要从我的服务器添加SSH密钥到Bitbucket。奇怪的是,它一直在努力工作,而不必这样做。

5

我解决了删除并再次添加我的ssh密钥的问题。看起来我的密码太多我的ssh代理...

ssh-add -D ; ssh-add ~/.ssh/id_rsa 
0

我的问题是,我没有安装在服务器上的git。我通过将日志级别设置为在deploy.rb中进行调试来发现此问题。

0

它可能是你的Gemlock更新但不推动。尝试更新capistrano gem并推送到git repo,然后再次尝试部署。