当我运行cap <stage> deploy --trace
时,我得到了:
> $ 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 :(得分:6)
我解决了删除并再次添加我的ssh密钥的问题。看起来我的ssh-agent上的键太多了......
ssh-add -D ; ssh-add ~/.ssh/id_rsa
答案 1 :(得分:1)
我遇到了类似的问题,事实证明我需要将SSH密钥从我的服务器添加到Bitbucket。奇怪的是,它已经工作了一段时间而不必这样做。
答案 2 :(得分:0)
我的问题是我没有在服务器上安装git。我通过在deploy.rb中将日志级别设置为debug来找到它。
答案 3 :(得分:0)
可能是您的Gemlock已更新但未推送。尝试更新capistrano gem并推送到git repo,然后再尝试部署。