November 30, 2013

與Jenkins共舞 - 封存建置成品

在Jenkins成功建置專案後,通常我們會將編譯後的應用程式或軟體封存(archive)起來,作法與備份類似,如此可以方便未來回顧每個建置當時所產出的成品(artifact)為何。例如,每個成功建置的軟體,會有自己的版本編號,將每個不同版本編號的軟體封存起來,除了可以了解目前的建置版本,若釋出的應用程式有defect,也可以取出相對應的版本進行測試。


在Jenkins中若要設定封存功能,可以在Build Job下的Post-build Actions中加入Archive the artifacts


Files to archive中可填入某個路徑或資料夾,如下圖表示要將bin底下所有檔案封存起來。要注意的是,這裡的路徑是相對於Jenkins中workspace的路徑。


設定完成並建置專案,可以在建置成功的結果頁面中看到Build Artifacts樹狀選單,將選單展開即可以看到建置成品。


在檔案系統中也可以看到封存的成品。


如果建置成品是特定副檔名的封裝檔,例如在建置時已經將應用程式封裝成MSI檔,在設定Files to archive路徑時,也可輸入如下圖路徑


Build Artifacts樹狀選單中就可以看到被封存的封裝檔。


到目前為止設定上都不困難,然而Jenkins內建的封存功能,預設是將建置成品各別放在每個建置結果的資料夾下,如C:\Jenkins\jobs\[Job Name]\builds\181\archive\,如此便無法集中管理封存檔。若要集中管理,可以安裝ArtifactDeployer Plugin,也是我目前封存建置成品使用的plugin。設定上不會太困難,有興趣的朋友可以試試。