Pipeline Shared Library-目錄方式載入
前一陣子將Jenkins上的Job改成Pipeline grovvy的方式撰寫腳本後,整個CI的運作,也變得相當有彈性。上手後,真的是回不去原本的GUI設定方式。在Job比較多時,針對相同的腳本可以使用Shared Library的方式將共用方法封起來,方便維護與調用,參考文章。
問題
回到本文,這陣子同事回報最近的Job在建置失敗時,都沒有發出通知。檢查原因後,發現兇手為Pipeline引用Shared Library時,因載入的方式使用的是git,當git server連不到時,整個Job內的腳本是不會被運行的。所以當然也不會執行到falire的通知區段。
解決方式
Google一下後,好像沒有人有類似的問題....可能是我們家的主機放在網路不甚穩定的區域吧...XD。在找不到相關解決方式下,將方向轉往若不使用git取得,改用目錄位置取得。作法如下:
1.安裝Plugin : File System SCM
2.將Library搬到Jenkins主機目錄,本例:D:\Jenkins\KimPipelineLib
3.到Pipeline Shared Library設定相關參數。
- Default version:若是git方式,此值為branch,現在為File System,為檔案比對的識別標籤(必填)。
- 選擇Legacy SCM後,才會出現File System的參數設定。
- Library的主機目錄位置。
參考文章