基於 Jenkins 快速搭建持續集成環境

什麼是持續集成

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

持續集成正是針對這一類問題的一種軟件開發實踐。它倡導團隊開發成員必須常常集成他們的工做,甚至天天均可能發生屢次集成。而每次的集成都是經過自動化的構建來驗證,包括自動編譯、發佈和測試,從而儘快地發現集成錯誤,讓團隊可以更快的開發內聚的軟件。服務器

持續集成的核心價值在於:工具

  1. 持續集成中的任何一個環節都是自動完成的,無需太多的人工干預,有利於減小重複過程以節省時間、費用和工做量;
  2. 持續集成保障了每一個時間點上團隊成員提交的代碼是能成功集成的。換言之,任什麼時候間點都能第一時間發現軟件的集成問題,使任意時間發佈可部署的軟件成爲了可能;
  3. 持續集成還能利於軟件自己的發展趨勢,這點在需求不明確或是頻繁性變動的情景中尤爲重要,持續集成的質量能幫助團隊進行有效決策,同時創建團隊對開發產品的信心。
持續集成的原則

業界廣泛認同的持續集成的原則包括:測試

1)須要版本控制軟件保障團隊成員提交的代碼不會致使集成失敗。經常使用的版本控制軟件有 IBM Rational ClearCase、CVS、Subversion 等;ui

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

3)須要有專門的集成服務器來執行集成構建。根據項目的具體實際,集成構建能夠被軟件的修改來直接觸發,也能夠定時啓動,如每半個小時構建一次;server

4)必須保證構建的成功。若是構建失敗,修復構建過程當中的錯誤是優先級最高的工做。一旦修復,須要手動啓動一次構建。htm

持續集成系統的組成

因而可知,一個完整的構建系統必須包括:blog

  1. 一個自動構建過程,包括自動編譯、分發、部署和測試等。
  2. 一個代碼存儲庫,即須要版本控制軟件來保障代碼的可維護性,同時做爲構建過程的素材庫。
  3. 一個持續集成服務器。

Jenkins是由Sun的前員工開發的,它的根基是Java,但也能夠用在非Java的項目裏,好比PHP、Ruby on Rails、.NET。在.NET項目裏,你除了Jenkins以外還要熟悉另外一樣工具:MSBuild。Visual Studio用MSBuild構建.NET項目。MSBuild所需的僅僅是一個腳本,在腳本中指定要執行的target。項目中的.csproj和.vbproj 文件都是MSBuild腳本。下面的幾篇文章介紹如何使用Jenkins 快速搭建持續集成服務器。開發

 

用MSBuild和Jenkins搭建持續集成環境(1)

用MSBuild和Jenkins搭建持續集成環境(2)

Create a Mono C# Buildserver using Jenkins and GitHub

相關文章
相關標籤/搜索