使用者可以透過Jenkins把專案運作的環境建置完成。在專案中套件或函式庫版本變更時,可以透過Jenkins確保更新的過程沒有錯誤。(圖片來源/Jenkins)

 Jenkins 

● 開發公司:Cloudbees

● 網址:www.cloudbees.com

● 作業系統:跨平臺

● 問市時間:2011年

● 採用公司:Netflix、Nokia、Yahoo

 

Jenkins的前身為甲骨文的Hudson,而在一開始的Hudson版本,安裝過程中必須使用透過Java來操作。而隨著版本的演進,現在Jenkins可以使用安裝檔進行安裝,方便不熟悉指令的使用者也可以輕易上手。

在專案進行開發前,使用者首先要將運作環境建置完成,而在自動化建置的過程中,使用者可以透過Jenkins完成此步驟。在專案中套件或函式庫版本變更時,可以透過Jenkins確保更新的過程沒有錯誤。

隨著目前開發方法逐漸走向測試驅動開發(Test-driven development,TDD),開發人員在撰寫功能程式碼前,首先要撰寫測試程式。而當專案建置完成,使用者可以將單元測試、整合測試交由Jenkins定期執行,並且透過自動化程序,削減人為干涉的因素,此外,UI測試也可透過Jenkins執行。

此外,Jenkins也能自動測試程式碼涵蓋率。而除了會呈現程式碼涵蓋率外,使用者也可以設定事件並自動觸發Jenkins寄送通知使用者。例如使用者可以設定當程式碼涵蓋率低於某些百分比時,Jenkins會自動發送E-mail或透過RSS通知使用者進行改善,抑或部署的失敗、成功,也可以透過Jenkins發送通知。

Jenkins也可以根據測試結果產出報表,提供使用者視覺化的檢驗。例如,當測試失敗時呈現紅燈,測試成功呈現藍燈,若有部分成功部分失敗則呈現黃燈。使用者透過報表也可得知各燈色持續的時間,了解專案的運作狀況並且進行修改或維護。一般而言,Jenkins產出的常用報表有測試狀況曲線圖、涵蓋率曲線圖以及壓力測試圖。

Jenkins的自動化部署可視使用者的需求,如部署到雲端或實體機器,兩者因為部署環境不同則有不同的過程,例如使用者可透過SSH協定進行部署,或是利用AWS提供的命令列工具。

通常使用者會透過SSH金鑰或是AWS token進行遠端存取,在部署的過程中減少人為干涉。而透過Jenkins撰寫腳本,可以清楚記錄部署的過程。即使開發人員或維運人員都不在場的狀況下,其他人亦可以透過Jenkins自動部署。

相關報導請見「【IT基礎架構邁向程式化的第一步】專家嚴選DevOps自動化工具」


Advertisement

更多 iThome相關內容