Cap部署在初始克隆时挂起

时间:2012-08-08 04:41:59

标签: ruby-on-rails git amazon-ec2 jruby capistrano

在初始部署期间,上限部署会在初始克隆时挂起。它给出了这个输出并永远存在,没有退出或给出任何错误:

** [50.18.125.107 :: out] Cloning into 'home/torquebox/apps/releases/20120808033824'...

它类似于this question,除了我能够手动执行命令,而不是使用capistrano自动执行命令。

服务器设置: EC2上的Ubuntu 12.04 LTS TorqueBox服务器,jruby,java6,postgresql,mysql,apache2,tomcat7

开发机器: OSX Lion 使用我的开发机器上的ssh键通过forward_agent访问github

应用: JRuby on Rails github repo

deploy.rb in a gist

事实和我尝试过的事情:

cap deploy:安装程序运行正常并创建目录结构。

如果我手动ssh并执行命令,克隆就能正常工作。

我已尝试使用详细(-v)和调试(-d),并且没有给我任何更多信息。

我尝试使用远程计算机上的forward_agent ssh到github来处理known hosts bug但是工作也很好。

我检查了环境变量并意识到并非所有内容都被加载,因为它不是交互式shell,所以我添加了额外的PATH目录和其他通常由登录脚本加载的环境变量。我甚至编辑了sshd_config文件以允许非交互式脚本中的用户环境。

我尝试通过cap shell手动执行命令,但我看到了相同的行为。

克隆操作确实创建了正确的目标目录,并在其中放置了一个.git目录,但是repo似乎是空的。

我已尝试打开和关闭remote-cache选项,并以任何方式查看相同的行为。

我尝试使用ec2 dns名称作为我的服务器,而不是弹性IP,因为this post但是没有用。

所以我被困住了。我真的很感激任何关于在哪里寻找下去试图解决这个问题的建议。如果有更多信息有用,请告诉我。

谢谢!

威尔

1 个答案:

答案 0 :(得分:1)

问题可能是JRuby中的ssh代理转发被破坏了。从JRuby 1.7.0.pre2开始修复。

请参阅:http://jira.codehaus.org/browse/JRUBY-6181