1

During the initial deployment, cap deploy hangs at the initial clone. It gives this output and sits there forever, without exiting or giving any kind of error:

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

It is similar to this question, except I'm able to execute the command manually, just not automate it with capistrano.

Server setup: Ubuntu 12.04 LTS on EC2 TorqueBox server, jruby, java6, postgresql, mysql, apache2, tomcat7

Dev machine: OSX Lion Using the ssh keys on my dev machine to access github via forward_agent

Application: JRuby on Rails github repo

deploy.rb in a gist

The facts and what I have tried:

cap deploy:setup works fine and does create the directory structure.

if I ssh in manually and execute the commands, the clone works correctly.

I've tried cap with verbose (-v) and debug (-d) and neither gave me any more info.

I tried to ssh into github using the forward_agent on the remote machine to deal with the known hosts bug but thatworked fine too.

I checked the environment variables and realized that not everything was getting loaded because it's not an interactive shell, so I added the additional PATH dirs and other environment variables that are usually loaded by login scripts. I even edited the sshd_config file to allow user environments in non-interactive scripts.

I tried executing the commands manually via cap shell but I'm seeing the same behavior.

The clone operation does create the correct target directory and put a .git directory in it, but the repo seems empty.

I've tried with the remote-cache option on and off, and see the same behavior either way.

I tried using the ec2 dns name for my server rather than the elastic IP, because of this post but that didn't work.

So I'm stuck. I'd really appreciate any suggestions of where to look next to try to figure this out. Let me know if any more info would be helpful.

Thanks!!

Will

Community
  • 1
  • 1
will_d
  • 592
  • 1
  • 4
  • 11

1 Answers1

1

The issue is probably the fact that ssh agent forwarding is broken in JRuby. It is fixed as of JRuby 1.7.0.pre2.

see: http://jira.codehaus.org/browse/JRUBY-6181

Stephen Weinberg
  • 51,320
  • 14
  • 134
  • 113
  • Well, I think we solved on bug but found another. Now cap deploy seems like it works, but only the first time. After that, I'm getting that error on the git fetch: Invalid command: '/usr/bin/git-upload-pack 'wdelhagen/jrubyliwc.git'' ** You appear to be using ssh to clone a git:// URL. ** Make sure your core.gitProxy config option and the ** GIT_PROXY_COMMAND environment variable are NOT set. – will_d Aug 09 '12 at 16:42