I'm trying to use PuTTY on the command line from an Hudson job.
The command is the following one:
putty -ssh -2 -P 22 USERNAME@SERVER_ADDR -pw PASS -m command.txt
Where 'command.txt' is a shell script to execute in the server through SSH.
If I launch this command from the Windows command prompt, it works. The shell script is executed on the server machine.
If I launch a build of the Hudson job configured with this batch command, it doesn't work. The build is running... and running... and running.. without doing anything, and I have to stop it manually.
Is it possible to launch an external program (that is, PuTTY) from a Hudson job?
PS: I tried SSH plugin but... not a really good plugin (pre/post build, fail status of the commands launched not caught by Hudson, etc.)
These are the build logs:
[workspace] $ cmd /c call C:\WINDOWS\TEMP\hudson7429256014041663539.bat
C:\Hudson\jobs\Artifact deployer\workspace>putty -ssh -2 -P 22 USER@SERV_ADD -pw PASS -m com.txt
Le build a été annulé
Finished: ABORTED
And the Hudson.err.log file at the same time (after a stop):
3 juin 2010 18:27:28 hudson.model.Run run
INFO: Artifact deployer #6 aborted
java.lang.InterruptedException
at java.lang.ProcessImpl.waitFor(Native Method)
at hudson.Proc$LocalProc.join(Proc.java:179)
at hudson.Launcher$ProcStarter.join(Launcher.java:278)
at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:83)
at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:58)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19)
at hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:601)
at hudson.model.Build$RunnerImpl.build(Build.java:174)
at hudson.model.Build$RunnerImpl.doRun(Build.java:138)
at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:416)
at hudson.model.Run.run(Run.java:1241)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:124)
My shell script only write "hello" in a "hello.txt" file on the server, and nothing is done.