Estou tentando usar o PuTTY na linha de comando de um Hudson trabalho.
O comando é o seguinte:
putty -ssh -2 -P 22 USERNAME@SERVER_ADDR -pw PASS -m command.txt
Onde 'command.txt' é um script shell a ser executado no servidor através de SSH .
Se eu iniciar este comando a partir do prompt de comando do Windows, ele funcionará. O script de shell é executado na máquina do servidor.
Se eu iniciar uma compilação da tarefa do Hudson configurada com esse comando em lote, isso não funcionará. O build está rodando ... e rodando ... e rodando .. sem fazer nada, e eu tenho que pará-lo manualmente.
É possível iniciar um programa externo (ou seja, PuTTY) de um trabalho do Hudson?
PS: Eu tentei o plugin SSH, mas ... não é um plugin realmente bom (pre / post build, falha no status dos comandos lançados não capturados pelo Hudson, etc.)
Estes são os registros de compilação:
[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
E o arquivo Hudson.err.log ao mesmo tempo (depois de uma parada):
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)
Meu shell script apenas escreve "hello" em um arquivo "hello.txt" no servidor, e nada é feito.