执行 jar 并在 jenkins 控制台日志中显示文本

Execute jar and display text in jenkins console log

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

我尝试通过调用 start 两次来使用并行处理来做到这一点,一次用于调用批处理文件,另一次使用 type 用于显示。

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

你需要在 windows 中寻找 tee 等价物,很少有像 GNU utilities for Win32 这样的,但是如果你有 cygwin 你仍然可以使用 tee ,这将简化过程。

现在问题出现了,如何从 jenkins 运行 我在 cygwin 上的 jar 文件?

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

或者您可以在批处理的内置命令中使用 powershell tee。