Jenkins初級(jí)使用過程中的異常處理
在使用Jenkins一些基本功能的時(shí)候,或者說是基本插件的時(shí)候,會(huì)遇到各種各樣的報(bào)錯(cuò)。這里就設(shè)想模擬一下,重現(xiàn)一下以前遇到過的問題,記錄一下。雖說是Jenkins使用過程中出現(xiàn)這樣的問題,但實(shí)際上可以把這種思路應(yīng)用在運(yùn)維其他問題的排查邏輯上面。這種分享也符合我們的技術(shù)積累信條,欲成大事,比以史為鑒。
一、在使用插件Invoke Phing targets的時(shí)候
1、報(bào)錯(cuò):
java.io.IOException: Cannot run program "phing" (in directory "/var/lib/jenkins/workspace/**"): error=2, No such file or directory

在使用Invoke Phing targets插件的過程中,就是要讀取系統(tǒng)的xml文件,如果沒有安裝phing工具的話就讀取失敗,從而整個(gè)構(gòu)建都會(huì)失敗。在Debian系列的系統(tǒng)里面,這里是用Ubuntu 18.04就用apt在線安裝phing。
命令:apt-get install phing
重新構(gòu)建發(fā)現(xiàn)問題解決了。
2、報(bào)錯(cuò):
/var/lib/jenkins/workspace/boztax/build.xml:104:75: buildnumber not defined!

這種問題就是在執(zhí)行build.xml的過程中發(fā)現(xiàn)里面的配置不對(duì)的報(bào)錯(cuò)。錯(cuò)誤提示中是變量buildnumber沒有定義,印象中是控制臺(tái)定義,然后build.xml調(diào)用。我們先回到控制臺(tái),

我們看到問題了,是控制到定義buildnumber的時(shí)候放錯(cuò)了位置,導(dǎo)致沒有生效,然后build.xml調(diào)用的時(shí)候就報(bào)錯(cuò)了。改正的時(shí)候就解決。
二、使用publish over ssh的時(shí)候的錯(cuò)誤
添加構(gòu)建步驟。'Send files or execute commands over SSH',我們就可以連著打包和發(fā)送這兩個(gè)步驟一起來使用。
我們打包好文件,按照邏輯就應(yīng)該發(fā)送過去,之后再解壓。可是,構(gòu)建失敗了,我們看看失敗的控制臺(tái)輸出,

綠色的表示構(gòu)建步驟已經(jīng)通過,紅色的部分表示開始報(bào)錯(cuò),是我們重點(diǎn)分析的部分。
綠色部分也有好幾個(gè)報(bào)錯(cuò),但是都是定義文件中的定義。比如說,刪除dist文件夾,那是因?yàn)樵谖覀兩傻奈募袠?biāo)避免沖突,如果沒有這個(gè)文件,那就應(yīng)該這樣,沒有找到可刪除的文件。綠色最后一行也是表明文件已經(jīng)打包。
紅色部分就是在遠(yuǎn)程服務(wù)器上面說找不到文件,那很有可能就是本地生成了,而沒有傳過去。下面驗(yàn)證一下,
先去本地看看有沒有文件,

已經(jīng)查證生成了打包文件,前面我們配置了ssh key到遠(yuǎn)程服務(wù)器,現(xiàn)在再次驗(yàn)證一下文件到底能不能傳過去,

證明私鑰可用,看看控制臺(tái)驗(yàn)證,

控制臺(tái)測(cè)試成功!
既然沒有在傳輸?shù)臅r(shí)候報(bào)錯(cuò),下一個(gè)猜想就是可能傳過去了,但是控制臺(tái)的目錄設(shè)置錯(cuò)亂,不知道傳去遠(yuǎn)程服務(wù)器哪個(gè)位置了。(實(shí)際上經(jīng)過了半天的思索才覺得有這種可能)

怎么在目錄前綴就有/root呢?后面的目錄就正確。??刂婆_(tái)設(shè)置的明明就是/home/data啊。

但是,在考慮的同時(shí),想起/root在哪里出現(xiàn)過,沒錯(cuò),

就是這里,在系統(tǒng)全局配置的時(shí)候。關(guān)于ssh的遠(yuǎn)程根目錄有設(shè)置,東西放錯(cuò)位置了,所以tar解壓的時(shí)候找不到文件。改回來的話,一切迎刃而解。
以上就是Jenkins初級(jí)使用過程中的異常處理的詳細(xì)內(nèi)容,更多關(guān)于Jenkins初級(jí)使用過程中的異常處理的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
WebUploader客戶端批量上傳圖片 后臺(tái)使用springMVC
這篇文章主要為大家詳細(xì)介紹了WebUploader客戶端批量上傳圖片,后臺(tái)使用springMVC接收實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-09-09
關(guān)于Java中修飾符的總結(jié)(fina除外)
下面小編就為大家?guī)硪黄P(guān)于Java中修飾符的總結(jié)(fina除外)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-09-09
JAVA CountDownLatch與thread-join()的區(qū)別解析
這篇文章主要介紹了JAVA CountDownLatch與thread-join()的區(qū)別解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08
IDEA如何自動(dòng)生成serialVersionUID的設(shè)置
這篇文章主要介紹了IDEA如何自動(dòng)生成 serialVersionUID 的設(shè)置,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09
Spring的@CrossOrigin注解處理請(qǐng)求源碼解析
這篇文章主要介紹了Spring的@CrossOrigin注解處理請(qǐng)求源碼解析,@CrossOrigin源碼解析主要分為兩個(gè)階段@CrossOrigin注釋的方法掃描注冊(cè),請(qǐng)求匹配@CrossOrigin注釋的方法,本文從源碼角度進(jìn)行解析,需要的朋友可以參考下2023-12-12
spring?eurake中使用IP注冊(cè)及問題小結(jié)
在開發(fā)spring?cloud的時(shí)候遇到一個(gè)很奇葩的問題,就是服務(wù)向spring?eureka中注冊(cè)實(shí)例的時(shí)候使用的是機(jī)器名,然后出現(xiàn)localhost、xxx.xx等這樣的內(nèi)容,這篇文章主要介紹了spring?eurake中使用IP注冊(cè),需要的朋友可以參考下2023-07-07
SpringBoot項(xiàng)目速度提升之延遲初始化(Lazy Initialization)詳解
延遲初始化(Lazy?Initialization)是一種在需要時(shí)才創(chuàng)建或加載對(duì)象的策略,以減少啟動(dòng)時(shí)間和資源消耗,本文就來講講延遲初始化的具體使用吧2023-05-05

