Hi all,

I've got a Jenkins build that runs a Capistrano deploy as a post-build 
action.
 
Running the Capistrano task as the Jenkins user from the console works 
absolutely fine and without a password prompt (I've previously set up SSH 
keys on both build and staging server). However, when running the same 
script through Jenkins, I suddenly get a password prompt and the build 
subsequently fails (no TTY present).

    [workspace] $ /bin/sh -xe /tmp/hudson7321493219694918714.sh
>     Performing Post build task...
>     Match found for : : True
>     Logical operation result is TRUE
>     Running script  : cap _2.13.4_ deploy
>     [workspace] $ /bin/sh -xe /tmp/hudson1545664641721322948.sh
>     + cap _2.13.4_ deploy
>       * executing `deploy'
>       * executing `deploy:update'
>      ** transaction: start
>       * executing `deploy:update_code'
>         triggering before callbacks for `deploy:update_code'
>     [32m--> Updating code base with checkout strategy[0m
>         executing locally: "git ls-remote 
> g...@my.staging-server.com:my_project.git master"
>         command finished in 1200ms
>       * executing "git clone -q g...@my.staging-server.com:my_project.git 
> /var/www/staging/my_project/releases/20121029223619 && cd 
> /var/www/staging/my_project/releases/20121029223619 && git checkout -q -b 
> deploy 1fb11d669a6cb5a714d077162305dfcfaba82f01 && (echo 
> 1fb11d669a6cb5a714d077162305dfcfaba82f01 > 
> /var/www/staging/my_project/releases/20121029223619/REVISION)"
>     servers: ["my.staging-server.com"]
>     Password: stty: standard input: Inappropriate ioctl for device
>     stty: standard input: Inappropriate ioctl for device
>     stty: standard input: Inappropriate ioctl for device
>     
>     *** [deploy:update_code] rolling back
>       * executing "rm -rf 
> /var/www/staging/my_project/releases/20121029223619; true"
>         servers: ["my.staging-server.com"]
>      ** [deploy:update_code] exception while rolling back: 
> Capistrano::ConnectionError, connection failed for: my.staging-server.com 
> (Net::SSH::AuthenticationFailed: not-specified)
>     connection failed for: my.staging-server.com 
> (Net::SSH::AuthenticationFailed: not-specified)
>     POST BUILD TASK : FAILURE



It looks like Ruby doesn't pick my SSH key up when running through Jenkins 
perhaps (`Net::SSH::AuthenticationFailed: not-specified`)?


Does anyone have an idea what might be going wrong here?

Reply via email to