在初始部署期间,上限部署会在初始克隆时挂起。它给出了这个输出并永远存在,没有退出或给出任何错误:
** [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
事实和我尝试过的事情:
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但是没有用。
所以我被困住了。我真的很感激任何关于在哪里寻找下去试图解决这个问题的建议。如果有更多信息有用,请告诉我。
谢谢!
威尔
答案 0 :(得分:1)
问题可能是JRuby中的ssh代理转发被破坏了。从JRuby 1.7.0.pre2开始修复。