在运行bash脚本以执行Java代码时,日志输出显示在Jenkins中

时间:2015-08-20 14:02:13

标签: java linux bash shell jenkins

首先让我来描述我的问题。 我配置了Jenkins,在构建操作后,我调用了shell脚本在远程服务器上运行bash脚本。 shell脚本通过命令

启动应用程序
java -Dcom.sun.management.jmxremote 
-Dcom.sun.management.jmxremote.port=xxx 
-Dcom.sun.management.jmxremote.authenticate=false 
-Dcom.sun.management.jmxremote.ssl=false 
-XX:+HeapDumpOnOutOfMemoryError -jar name.jar "BUILD_PARAMETER"

我在Jenkins构建中看到来自我的应用程序的日志,并且它保持构建过程正在运行。我需要在跑步后完成它 sh run命令。有可能吗?

2 个答案:

答案 0 :(得分:1)

如果您使用Jenkins进行此操作,则需要在注释中使用nohup表示法,并为进程指定非数字PID。 Jenkins尝试通过杀死它开始的任何进程来完成工作后进行清理。

BUILD_ID = dontKillMe nohup< -your command - > &安培;

以上命令应该可以正常工作

https://wiki.jenkins-ci.org/display/JENKINS/Spawning+processes+from+build

答案 1 :(得分:0)

你的shell脚本需要派生一个进程,然后返回,否则Jenkins认为你的shell脚本仍然在运行(如果它不是分支进程并返回的话,那就是它。)

您尚未提供用于启动应用程序的命令,但在Linux中分叉进程的常用方法是:

nohup <your command here> &