You might want to try out the ssh agent plugin... Though it is a tad rough and ready. It will work if you install tomcat-native on all the build nodes that need the agent
On Wednesday, 31 October 2012, Burkhard Reffeling wrote: > So I added the following line to the top of my script: > cd $HOME/.ssh && ls -al && cat id_rsa.pub > > Looks fine to me: > > > [workspace] $ /bin/sh -xe /tmp/hudson7533718270802434100.sh > + cd /var/lib/jenkins/.ssh > + ls -al > total 24 > drwx------ 2 jenkins jenkins 4096 Oct 30 23:48 . > drwxr-xr-x 9 jenkins jenkins 4096 Oct 31 17:34 .. > -rw-rw-r-- 1 jenkins jenkins 43 Oct 30 23:48 config > -rw------- 1 jenkins jenkins 1675 Oct 27 14:09 id_rsa > -rw-r--r-- 1 jenkins jenkins 410 Oct 27 14:09 id_rsa.pub > -rwx------ 1 jenkins jenkins 1306 Oct 28 22:20 known_hosts > + cat id_rsa.pub > [MY PUBLIC KEY ...] > > > * > * > *Burkhard Reffeling* > > Software Engineer > > > > On 31 October 2012 17:02, Vincent Latombe > <[email protected]<javascript:_e({}, 'cvml', > '[email protected]');> > > wrote: > >> 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 >> <[email protected]<javascript:_e({}, 'cvml', >> '[email protected]');> >> > >> >>> 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 >>>> [email protected]:my_project.git >>>> master" >>>> command finished in 1200ms >>>> * executing "git clone -q [email protected]: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? >>> >> >> >
