1. 程式人生 > >持續整合工具 jenkins是什麼

持續整合工具 jenkins是什麼

持續整合是一種軟體開發實踐,對於提高軟體開發效率並保障軟體開發質量提供了理論基礎。Jenkins 是一個開源軟體專案,旨在提供一個開放易用的軟體平臺,使持續整合變成可能。

什麼是持續整合

隨著軟體開發複雜度的不斷提高,團隊開發成員間如何更好地協同工作以確保軟體開發的質量已經慢慢成為開發過程中不可迴避的問題。尤其是近些年來,敏捷(Agile) 在軟體工程領域越來越紅火,如何能再不斷變化的需求中快速適應和保證軟體的質量也顯得尤其的重要。

持續整合正是針對這一類問題的一種軟體開發實踐。它倡導團隊開發成員必須經常整合他們的工作,甚至每天都可能發生多次整合。而每次的整合都是通過自動化的構建來驗證,包括自動編譯、釋出和測試,從而儘快地發現整合錯誤,讓團隊能夠更快的開發內聚的軟體。

持續整合的核心價值在於:

  1. 持續整合中的任何一個環節都是自動完成的,無需太多的人工干預,有利於減少重複過程以節省時間、費用和工作量;
  2. 持續整合保障了每個時間點上團隊成員提交的程式碼是能成功整合的。換言之,任何時間點都能第一時間發現軟體的整合問題,使任意時間釋出可部署的軟體成為了可能;
  3. 持續整合還能利於軟體本身的發展趨勢,這點在需求不明確或是頻繁性變更的情景中尤其重要,持續整合的質量能幫助團隊進行有效決策,同時建立團隊對開發產品的信心。

持續整合的原則

業界普遍認同的持續整合的原則包括:

1)需要版本控制軟體保障團隊成員提交的程式碼不會導致整合失敗。常用的版本控制軟體有 IBM Rational ClearCase、CVS、Subversion 等;

2)開發人員必須及時向版本控制庫中提交程式碼,也必須經常性地從版本控制庫中更新程式碼到本地;

3)需要有專門的整合伺服器來執行整合構建。根據專案的具體實際,整合構建可以被軟體的修改來直接觸發,也可以定時啟動,如每半個小時構建一次;

4)必須保證構建的成功。如果構建失敗,修復構建過程中的錯誤是優先順序最高的工作。一旦修復,需要手動啟動一次構建。

Jenkins 簡介

Jenkins 是一個開源專案,提供了一種易於使用的持續整合系統,使開發者從繁雜的整合中解脫出來,專注於更為重要的業務邏輯實現上。同時 Jenkins 能實施監控整合中存在的錯誤,提供詳細的日誌檔案和提醒功能,還能用圖表的形式形象地展示專案構建的趨勢和穩定性。