在jenkins中配置自動更新部署項目時,如果採取用execute shell啓動/關閉tomcat,會發現可以進行關閉tomcat,但是無法啓動tomcat,雖然構建會顯示執行成功,但是查看進程,tomcat是沒有啓動的。這是因爲Jenkins默認會在Build結束後Kill掉所有的衍生進程。需要進行以下配置,才能避免此類情況發生:
1.重設環境變量build_id
在execute shell輸入框中加入BUILD_ID=DONTKILLME,即可防止jenkins殺死啓動的tomcat進程
2.在啓動jenkins 的時候禁止jenkins殺死衍生進程
修改/etc/sysconfig/jenkins配置,在JENKINS_JAVA_OPTIONS中加入-Dhudson.util.ProcessTree.disable=true。需要重啓jenkins生效
此方法配置一次後,所有的job都無需設置BUILD_ID,就能夠防止jenkins殺死啓動的tomcat進程