我正在使用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控制台吗?
感谢您阅读这个冗长的问题:)
答案 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