[英]Log output shows in Jenkins while running bash script to execute Java code
首先,讓我描述一下我的問題。 我配置了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命令后完成它。 可能嗎?
如果您使用Jenkins進行此操作,則將需要使用注釋中的nohup表示法,並為該過程指定非數字PID。 詹金斯(Jenkins)試圖通過殺死作業開始的所有進程來清理作業。
BUILD_ID = dontKillMe nohup <-您的命令->&
上面的命令應該起作用
https://wiki.jenkins-ci.org/display/JENKINS/Spawning+processes+from+build
您的Shell腳本需要派生一個進程,然后返回,否則Jenkins認為您的Shell腳本仍在運行(如果未派生該進程並返回,則它正在運行)。
您尚未提供用於啟動應用程序的命令,但是在Linux中派生一個進程的常用方法是:
nohup <your command here> &
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.