Capistrano fails for multiple host deployments
- by morris082
I be at a loss here, and after scouring the seas (read: internet) for solutions I am left with none other than to hit up the stack. any help appreciated.
I have capistrano running locally for deployments onto several different environments. (I'm on windows 7, fwiw). All was well until I needed to deploy to multiple :app servers during a single deployment.
Usually I'm prompted for my ssh passphrase once when I call 'cap deploy'. I have ssh-agent running (git never pesters for my pass) but despite this Capistrano has always bugged me once each deployment. Regardless, it always worked when deploying to ONE host.
Now, when I attempt to deploy to multiple servers at once, it asks for my passphrase what appears to be multiple times:
(ips removed by ME)
servers: ["redacted", "redacted"]<br />
Enter passphrase for ~/.ssh/id_rsa: Enter passphrase for ~/.ssh/id_rsa:
So with the above I enter my passphrase but this doesn't work. It waits as little while, then spits out this error:
connection failed for: <one of the server ips> (NoMethodError: undefined method `overwrite' for nil:NilClass)
And that's the end of that.
I can "passwordless" ssh into the servers I'm deploying on just fine.
I'm pretty certain the ssh-agent is running since I can hit Git w/out entering my passphrase every time
Using 'forward_agent' setting in cap deploy did not work.
This is my role:
role :app, "ip 1 removed", "ip 2 removed"
If i set default_run_options[:max_hosts] = 1, it works OK but it asks for my passphrase for every single connection to each host I'm deploying to.. which ends up being a lot.
Essentially I'm looking for any of the below (but not limited to):
- "You're never going to fix that on windows"
- "This is how you get REAL passwordless deployment in capistrano"
- "Have you overlooked this setting/feature?"
- "I have a rock that can fix anything, you may borrow it"
Thanks!