Jenkins初級(jí)使用過(guò)程中的異常處理
在使用Jenkins一些基本功能的時(shí)候,或者說(shuō)是基本插件的時(shí)候,會(huì)遇到各種各樣的報(bào)錯(cuò)。這里就設(shè)想模擬一下,重現(xiàn)一下以前遇到過(guò)的問(wèn)題,記錄一下。雖說(shuō)是Jenkins使用過(guò)程中出現(xiàn)這樣的問(wèn)題,但實(shí)際上可以把這種思路應(yīng)用在運(yùn)維其他問(wè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插件的過(guò)程中,就是要讀取系統(tǒng)的xml文件,如果沒(méi)有安裝phing工具的話就讀取失敗,從而整個(gè)構(gòu)建都會(huì)失敗。在Debian系列的系統(tǒng)里面,這里是用Ubuntu 18.04就用apt在線安裝phing。
命令:apt-get install phing
重新構(gòu)建發(fā)現(xiàn)問(wèn)題解決了。
2、報(bào)錯(cuò):
/var/lib/jenkins/workspace/boztax/build.xml:104:75: buildnumber not defined!
這種問(wèn)題就是在執(zhí)行build.xml的過(guò)程中發(fā)現(xiàn)里面的配置不對(duì)的報(bào)錯(cuò)。錯(cuò)誤提示中是變量buildnumber沒(méi)有定義,印象中是控制臺(tái)定義,然后build.xml調(diào)用。我們先回到控制臺(tái),
我們看到問(wèn)題了,是控制到定義buildnumber的時(shí)候放錯(cuò)了位置,導(dǎo)致沒(méi)有生效,然后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è)步驟一起來(lái)使用。
我們打包好文件,按照邏輯就應(yīng)該發(fā)送過(guò)去,之后再解壓??墒牵瑯?gòu)建失敗了,我們看看失敗的控制臺(tái)輸出,
綠色的表示構(gòu)建步驟已經(jīng)通過(guò),紅色的部分表示開(kāi)始報(bào)錯(cuò),是我們重點(diǎn)分析的部分。
綠色部分也有好幾個(gè)報(bào)錯(cuò),但是都是定義文件中的定義。比如說(shuō),刪除dist文件夾,那是因?yàn)樵谖覀兩傻奈募袠?biāo)避免沖突,如果沒(méi)有這個(gè)文件,那就應(yīng)該這樣,沒(méi)有找到可刪除的文件。綠色最后一行也是表明文件已經(jīng)打包。
紅色部分就是在遠(yuǎn)程服務(wù)器上面說(shuō)找不到文件,那很有可能就是本地生成了,而沒(méi)有傳過(guò)去。下面驗(yàn)證一下,
先去本地看看有沒(méi)有文件,
已經(jīng)查證生成了打包文件,前面我們配置了ssh key到遠(yuǎn)程服務(wù)器,現(xiàn)在再次驗(yàn)證一下文件到底能不能傳過(guò)去,
證明私鑰可用,看看控制臺(tái)驗(yàn)證,
控制臺(tái)測(cè)試成功!
既然沒(méi)有在傳輸?shù)臅r(shí)候報(bào)錯(cuò),下一個(gè)猜想就是可能傳過(guò)去了,但是控制臺(tái)的目錄設(shè)置錯(cuò)亂,不知道傳去遠(yuǎn)程服務(wù)器哪個(gè)位置了。(實(shí)際上經(jīng)過(guò)了半天的思索才覺(jué)得有這種可能)
怎么在目錄前綴就有/root呢?后面的目錄就正確。??刂婆_(tái)設(shè)置的明明就是/home/data啊。
但是,在考慮的同時(shí),想起/root在哪里出現(xiàn)過(guò),沒(méi)錯(cuò),
就是這里,在系統(tǒng)全局配置的時(shí)候。關(guān)于ssh的遠(yuǎn)程根目錄有設(shè)置,東西放錯(cuò)位置了,所以tar解壓的時(shí)候找不到文件。改回來(lái)的話,一切迎刃而解。
以上就是Jenkins初級(jí)使用過(guò)程中的異常處理的詳細(xì)內(nèi)容,更多關(guān)于Jenkins初級(jí)使用過(guò)程中的異常處理的資料請(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ī)?lái)一篇關(guān)于Java中修飾符的總結(jié)(fina除外)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-09-09JAVA CountDownLatch與thread-join()的區(qū)別解析
這篇文章主要介紹了JAVA CountDownLatch與thread-join()的區(qū)別解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08IDEA如何自動(dòng)生成serialVersionUID的設(shè)置
這篇文章主要介紹了IDEA如何自動(dòng)生成 serialVersionUID 的設(shè)置,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09Spring的@CrossOrigin注解處理請(qǐng)求源碼解析
這篇文章主要介紹了Spring的@CrossOrigin注解處理請(qǐng)求源碼解析,@CrossOrigin源碼解析主要分為兩個(gè)階段@CrossOrigin注釋的方法掃描注冊(cè),請(qǐng)求匹配@CrossOrigin注釋的方法,本文從源碼角度進(jìn)行解析,需要的朋友可以參考下2023-12-12spring?eurake中使用IP注冊(cè)及問(wèn)題小結(jié)
在開(kāi)發(fā)spring?cloud的時(shí)候遇到一個(gè)很奇葩的問(wèn)題,就是服務(wù)向spring?eureka中注冊(cè)實(shí)例的時(shí)候使用的是機(jī)器名,然后出現(xiàn)localhost、xxx.xx等這樣的內(nèi)容,這篇文章主要介紹了spring?eurake中使用IP注冊(cè),需要的朋友可以參考下2023-07-07SpringBoot項(xiàng)目速度提升之延遲初始化(Lazy Initialization)詳解
延遲初始化(Lazy?Initialization)是一種在需要時(shí)才創(chuàng)建或加載對(duì)象的策略,以減少啟動(dòng)時(shí)間和資源消耗,本文就來(lái)講講延遲初始化的具體使用吧2023-05-05