1. 程式人生 > >通過Jenkins自動構建dubbo服務時的問題匯總

通過Jenkins自動構建dubbo服務時的問題匯總

搜索 內容 正常 odin 1.0 tails net sta cau

最近接觸新的dubbo項目,項目初始時,測試環境的提供者服務發布較頻繁,奈何公司又沒有自動發布工具,遂自己在測試環境中搭建了Jenkins用於dubbo服務的發布。由於第一次使用,過程中也遇到了一些問題,記錄與此

Q1、DubboShutdownHook

問題描述

打包/停止原進程/拷貝/解壓 過程一切正常。在執行啟動腳本正常執行,可惜服務就是未正常啟動,手動啟動正常。翻查啟動日誌發現一段警告信息:

DubboShutdownHook WARN Unable to register Log4j shutdown hook because JVM is shutting down. Using SimpleLogger

解決

初步判斷是與Log4j相關,最終發現與項目中log4j2.xml相關。可移步:http://javahonk.com/unable-to-register-shutdown-hook-because-jvm-is-shutting-down/

可以log4j2.xml中添加shutdownHook=”disable” 完整內容如下

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO" shutdownHook="disable">
... 
</Configuration>

bingo smile

Q2、Jenkins構建完成後殺死衍生進程

問題描述

在解決完上一個問題後,沒有出現那一段警告信息了,本以為可以偷懶了,誰知道dubbo服務依舊還是沒有啟動,這時候翻查日誌,對比手動啟動的日誌無任何不同,陷入沈思。依舊是,正常執行腳本,日誌也說明已經啟動,可就是沒有該進程,難道是被什麽給殺掉了?
於是帶著這個思路去搜索,Jenkins殺死進程發現了一條關鍵信息:
https://blog.csdn.net/u011138533/article/details/53941123
Jenkins默認會在Build結束後Kill掉所有的衍生進程
原來如此!!

解決

在execute shell輸入框中加入BUILD_ID=DONTKILLME


完整如下:
技術分享圖片

通過Jenkins自動構建dubbo服務時的問題匯總