首頁 > 軟體

Jenkins初級使用過程中的例外處理

2022-04-01 13:01:38

在使用Jenkins一些基本功能的時候,或者說是基本外掛的時候,會遇到各種各樣的報錯。這裡就設想模擬一下,重現一下以前遇到過的問題,記錄一下。雖說是Jenkins使用過程中出現這樣的問題,但實際上可以把這種思路應用在運維其他問題的排查邏輯上面。這種分享也符合我們的技術積累信條,欲成大事,比以史為鑑。

一、在使用外掛Invoke Phing targets的時候

1、報錯:

java.io.IOException: Cannot run program "phing" (in directory "/var/lib/jenkins/workspace/**"): error=2, No such file or directory

在使用Invoke Phing targets外掛的過程中,就是要讀取系統的xml檔案,如果沒有安裝phing工具的話就讀取失敗,從而整個構建都會失敗。在Debian系列的系統裡面,這裡是用Ubuntu 18.04就用apt線上安裝phing。

命令:apt-get install phing

重新構建發現問題解決了。

2、報錯:

/var/lib/jenkins/workspace/boztax/build.xml:104:75: buildnumber not defined!

這種問題就是在執行build.xml的過程中發現裡面的設定不對的報錯。錯誤提示中是變數buildnumber沒有定義,印象中是控制檯定義,然後build.xml呼叫。我們先回到控制檯,

我們看到問題了,是控制到定義buildnumber的時候放錯了位置,導致沒有生效,然後build.xml呼叫的時候就報錯了。改正的時候就解決。

二、使用publish over ssh的時候的錯誤

新增構建步驟。'Send files or execute commands over SSH',我們就可以連著打包和傳送這兩個步驟一起來使用。

我們打包好檔案,按照邏輯就應該傳送過去,之後再解壓。可是,構建失敗了,我們看看失敗的控制檯輸出,

綠色的表示構建步驟已經通過,紅色的部分表示開始報錯,是我們重點分析的部分。

綠色部分也有好幾個報錯,但是都是定義檔案中的定義。比如說,刪除dist資料夾,那是因為在我們生成的檔案中標避免衝突,如果沒有這個檔案,那就應該這樣,沒有找到可刪除的檔案。綠色最後一行也是表明檔案已經打包。

紅色部分就是在遠端伺服器上面說找不到檔案,那很有可能就是本地生成了,而沒有傳過去。下面驗證一下,

先去本地看看有沒有檔案,

已經查證生成了打包檔案,前面我們設定了ssh key到遠端伺服器,現在再次驗證一下檔案到底能不能傳過去,

證明私鑰可用,看看控制檯驗證,

 控制檯測試成功!

既然沒有在傳輸的時候報錯,下一個猜想就是可能傳過去了,但是控制檯的目錄設定錯亂,不知道傳去遠端伺服器哪個位置了。(實際上經過了半天的思索才覺得有這種可能)

怎麼在目錄字首就有/root呢?後面的目錄就正確。。控制檯設定的明明就是/home/data啊。

但是,在考慮的同時,想起/root在哪裡出現過,沒錯,

就是這裡,在系統全域性設定的時候。關於ssh的遠端根目錄有設定,東西放錯位置了,所以tar解壓的時候找不到檔案。改回來的話,一切迎刃而解。

以上就是Jenkins初級使用過程中的例外處理的詳細內容,更多關於Jenkins初級使用過程中的例外處理的資料請關注it145.com其它相關文章!


IT145.com E-mail:sddin#qq.com