Hi,

you should check that the HOME variable is defined and accessible to the
Jenkins process (or to the slave that is executing the task). I remember
having the same kind of issue running git clients.

Hope that helps,

Vincent


2012/10/31 Burkhard Reffeling <burkhard.reffel...@gmail.com>

> 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