簡體   English   中英

Jenkins在構建后的單元測試期間無法連接到數據庫

[英]Jenkins can't connect to a database during a unit test after a build

我正在將我的螞蟻構建移動到新的Jenkins服務器。 它可以訪問SVN,進行編譯等等。 在開始運行單元測試之前,一切都很好。 一些測試需要訪問數據庫才能執行。

我已經登錄到運行Jenkins的服務器,並且通過在數據庫端口上使用telnet可以確定路徑是打開的。 (IT人士還說這條路是開放的)。 我知道這是一個數據庫問題,因為當我弄亂配置文件時,我可以在本地重現該問題,從而使構建找不到數據庫。

我的問題是這個。 我真的需要詹金斯告訴我為什么它無法連接到數據庫。 我還無法弄清楚該怎么做。 控制台輸出僅顯示它永遠嘗試測試。 任何和所有建議表示贊賞。

您是否將數據庫參數從Ant傳遞到junit目標? 如果是這樣,請將-v參數添加到jenkins配置中的ant build步驟以獲取額外的日志記錄,並因此查看正在設置的DB參數。

或者,您的測試是否會自己加載數據庫參數? 根據它們的讀取方式,您可能會遇到類路徑或路徑問題。 在這種情況下,請記錄測試中的路徑,類路徑和任何其他相關變量。

請記住,junit任務有一個timeout參數,如果您不希望它永遠掛起,則可以設置該參數。

最后,您可以登錄到jenkins主機,並從正在執行的測試中觸發線程轉儲。 通過向Java進程(在* nix上)發送kill -3信號來完成此操作,或者,如果您在Windows上運行jenkins,並且JVM不太舊,則可以執行jstack 生成的堆棧跟蹤(應該出現在Jenkins構建日志中)可能會導致一些洞察。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM