STAF:如何将STAF启动的进程输出立即重定向到哈德森控制台?

时间:2011-12-07 10:22:15

标签: hudson

我正在使用STAF从批处理文件启动ruby命令。

STAF $ TESTMACHINE进程启动命令ruby“C:\ MyProject \ scripts \ MasterScript.rb”WAIT SAMECONSOLE RETURNSTDERR RETURNSTDOUT WORKDIR“C:\ MyProject \ scripts”

此批处理文件由Hudson作业触发。但我的观察是,只有在执行ruby脚本[Hudson job]之后,ruby文件的print / puts才出现在hudson控制台中。这样我就无法确定脚本执行中是否出现问题,除非作业完成。

另外,据我所知,如果删除RETURNSTDERR RETURNSTDOUT,ruby脚本的输出将显示在目标计算机上的STAF控制台中。因此,STAF是将ruby输出发送回hudson控制台的那个。

现在我可以使用STAF的任何选项将ruby输出自发地输出到hudson控制台吗?

感谢您阅读这个冗长的问题:)

1 个答案:

答案 0 :(得分:2)

您可以使用SSH而不是STAF来执行此类任务。

看来STAF有点棘手,可以用OUTPUT选项完成 如果您有共享存储,例如在hudson服务器上名为/ nfs且在Windows上名为d:\ nfs的NFS共享,则以下hudson作业应该起作用:
STAF $ TESTMACHINE进程启动命令ruby“C:\ MyProject \ scripts \ MasterScript.rb”WAIT SAMECONSOLE RETURNSTDERR RETURNSTDOUT WORKDIR“C:\ MyProject \ scripts”OUTPUT“d:\ nfs \ hudson.log”&
tail --pid = $! -f /nfs/hudson.log