持續集成

持續集成

電子工程學術語
持續集成是一種軟件開發實踐,即團隊開發成員經常集成它們的工作,通常每個成員每天至少集成一次,也就意味着每天可能會發生多次集成。每次集成都通過自動化的構建(包括編譯,發布,自動化測試)來驗證,從而盡快地發現集成錯誤。[1]許多團隊發現這個過程可以大大減少集成的問題,讓團隊能夠更快的開發内聚的軟件。
    中文名:持續集成 外文名:Continuous integration 所屬學科:電子工程 類型:軟件開發實踐

簡介

持續集成(Continuous integration)集成軟件的過程不是新問題,如果項目開發的規模比較小,比如一個人的項目,如果它對外部系統的依賴很小,那麼軟件集成不是問題,但是随着軟件項目複雜度的增加(即使增加一個人),就會對集成和确保軟件組件能夠在一起工作提出了更多的要求-要早集成,常集成。早集成,頻繁的集成幫助項目在早期發現項目風險和質量問題,如果到後期才發現這些問題,解決問題代價很大,很有可能導緻項目延期或者項目失敗。

價值

減少風險

一天中進行多次的集成,并做了相應的測試,這樣有利于檢查缺陷,了解軟件的健康狀況,減少假定。

減少重複過程

減少重複的過程可以節省時間、費用和工作量。說起來簡單,做起來難。這些浪費時間的重複勞動可能在我們的項目活動的任何一個環節發生,包括代碼編譯、數據庫集成、測試、審查、部署及反饋。通過自動化的持續集成可以将這些重複的動作都變成自動化的,無需太多人工幹預,讓人們的時間更多的投入到動腦筋的、更高價值的事情上。

任何時間、任何地點生成可部署的軟件

持續集成可以讓您在任何時間發布可以部署的軟件。從外界來看,這是持續集成最明顯的好處,我們可以對改進軟件品質和減少風險說起來滔滔不絕,但對于客戶來說,可以部署的軟件産品是最實際的資産。利用持續集成,您可以經常對源代碼進行一些小改動,并将這些改動和其他的代碼進行集成。如果出現問題,項目成員馬上就會被通知到,問題會第一時間被修複。不采用持續集成的情況下,這些問題有可能到交付前的集成測試的時候才發現,有可能會導緻延遲發布産品,而在急于修複這些缺陷的時候又有可能引入新的缺陷,最終可能導緻項目失敗。

增強項目的可見性

持續集成讓我們能夠注意到趨勢并進行有效的決策。如果沒有真實或最新的數據提供支持,項目就會遇到麻煩,每個人都會提出他最好的猜測。通常,項目成員通過手工收集這些信息,增加了負擔,也很耗時。持續集成可以帶來兩點積極效果:

(1)有效決策:持續集成系統為項目構建狀态和品質指标提供了及時的信息,有些持續集成系統可以報告功能完成度和缺陷率。

(2)注意到趨勢:由于經常集成,我們可以看到一些趨勢,如構建成功或失敗、總體品質以及其它的項目信息。

建立團隊對開發産品的信心

持續集成可以建立開發團隊對開發産品的信心,因為他們清楚的知道每一次構建的結果,他們知道他們對軟件的改動造成了哪些影響,結果怎麼樣。

要素

1.統一的代碼庫;

2.自動構建;

3.自動測試;

4.每個人每天都要向代碼庫主幹提交代碼;

5.每次代碼遞交後都會在持續集成服務器上觸發一次構建;

6.保證快速構建;

7.模拟生産環境的自動測試;

8.每個人都可以很容易的獲取最新可執行的應用程序;

9.每個人都清楚正在發生的狀況;

10.自動化的部署。

原則

1.所有的開發人員需要在本地機器上做本地構建,然後再提交的版本控制庫中,從而确保他們的變更不會導緻持續集成失敗。

2.開發人員每天至少向版本控制庫中提交一次代碼。

3.開發人員每天至少需要從版本控制庫中更新一次代碼到本地機器。

4.需要有專門的集成服務器來執行集成構建,每天要執行多次構建。

5.每次構建都要100%通過。

6.每次構建都可以生成可發布的産品。

7.修複失敗的構建是優先級最高的事情。

8.測試是未來,未來是測試。

上一篇:吊頂龍骨

下一篇:端口

相關詞條

相關搜索

其它詞條