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設定相關參數。
  1. Default version:若是git方式,此值為branch,現在為File System,為檔案比對的識別標籤(必填)。
  2. 選擇Legacy SCM後,才會出現File System的參數設定。    
  3. Library的主機目錄位置。


參考文章


這個網誌中的熱門文章

[TFS] 分支與合併

[TFS] 擱置暫止的變更