持續集成定義:
持續集成是一種軟件開發實踐,即團隊開發成員經常集成它們的工作,通常每個成員每天至少集成一次,也就意味著每天可能會發生多次集成。每次集成通過自動
化的構建(包括編譯,發布,自動化測試)來驗證,從而盡快地發現集成錯誤并予以修改,得以讓團隊能夠更快的開發內聚的軟件。
持續集成價值:
1. 減少風險
一天中進行多次的集成,并做了相應的測試,這樣有利于檢查缺陷,
了解軟件的健康狀況,減少假定。
2. 減少重復過程
通過自動化的持續集成可以將集成中重復的動作都變成自動化的,
無需太多人工干預,讓人們的時間更多的投入到動腦筋的、更高價值的
事情上。
3. 任何時間、任何地點生成可部署的軟件
持續集成開發可以在任何時間發布可以部署的軟件。利用持續集成,
可以經常對源代碼行一些小改動,并將這些改動和其他的代碼進行集成。
如果出現問題,項目成員馬上就會被通知到,問題會第一時間被修復。
不采用持續集成的情況下,這些問題有可能到交付前的集成測試的時候
才發現,有可能會導致延遲發布產品,而在急于修復這些缺陷的時候又
有可能引入新的缺陷,最終可能導致項目失敗。
4. 增強項目的可見性
持續集成讓我們能夠注意到趨勢并進行有效的決策。
持續集成可以帶來兩點積極效果:
(1)有效決策:持續集成系統為項目構建狀態和品質指標提供了及時的信息,有些持續集成系統可以報告功能完成度和缺陷率?! ?/span>
(2)注意到趨勢:由于經常集成,我們可以看到一些趨勢,如構建成功或失敗、總體品質以及其它的項目信息。
5. 建立團隊對開發產品的信心
持續集成可以建立開發團隊對開發產品的信心,因為他們清楚的知道每一次構建的結果,他們知道他們對軟件的改動造成了哪些影響,結果怎么樣。
持續集成要素及原則
持續集成的要素
1.統一的代碼庫
2.自動構建
3.自動測試
4.每個人每天都要向代碼庫主干提交代碼
5.每次代碼遞交后都會在持續集成服務器上觸發一次構建
6.保證快速構建
7.模擬生產環境的自動測試
8.每個人都可以很容易的獲取最新可執行的應用程序
9.每個人都清楚正在發生的狀況
10.自動化的部署
持續集成的原則
1. 所有的開發人員需要在本地機器上做本地構建,然后再提交的版本
控制庫中,從而確保他們的變更不會導致持續集成失敗?! ?/span>
2.
開發人員每天至少向版本控制庫中提交一次代碼。
3.
開發人員每天至少需要從版本控制庫中更新一次代碼到本地機器?! ?/span>
4.
需要有專門的集成服務器來執行集成構建,每天要執行多次構建?! ?/span>
5.
每次構建都要100%通過。
6.
每次構建都可以生成可發布的產品?! ?/span>
7.
修復失敗的構建是優先級最高的事情。