2016-05-13 221 views
0

我有文件要在远程机器上部署和运行。 我已经使用jenkins传输了该文件,现在我所做的是在Execute Windows Batch Command中使用psexec在远程计算机上调用a.bat批处理文件。 a.bat执行 当jar开始执行时,命令提示符文本存储在一个文件中。 使用java -jar abc.jar >> a.log 2>&1 现在,我要的是显示在詹金斯控制台a.log内容时正在执行的jar文件 (该文件不断被写,我想在詹金斯控制台显示它,因为它正在被写入)在jenkins控制台执行jar和显示文本日志

我试图使用并行处理来调用start两次,一次是调用批处理文件,另一次是使用type进行显示。

但是,当我使用start我得到Process leaked file descriptor。 有没有其他方法可以实现这一点。无论是在jenkins中调用powershell还是计划任务。

回答

0

你需要在windows中寻找tee等价物,但是如果有几个像GNU utilities for Win32,但是如果你有cygwin,你仍然可以使用tee,这将简化方案。

现在的问题是如何在jenkins上运行cygwin上的jar文件?

你仍然可以使用执行windows [batch] shell。并将cygwin安装路径添加到PATH变量中,并开始像使用BOSS一样使用linux命令。

或者你可以在批量生成的命令中使用powershell tee。

+0

没有设置cygwin我可以在Windows Powershell中运行'tee'。现在需要将所有批处理语法转换为PowerShell。感谢您的解决方案。如果我需要任何帮助,我会回来。 P.S.〜我们都来自同一个城市;) – HunterrJ

相关问题