持續整合簡介

2021-08-08 05:32:20 字數 1152 閱讀 9052

一、持續整合

持續整合是一種軟體開發的實踐,即團隊開發成員經常整合他們的工作,通常每個成員每天至少整合一次,也就意味著每天可能會發生多次整合。每次整合都通過自動化的構建(包括編譯,發布,自動化測試)來驗證,從而盡快地發現整合錯誤。許多團隊發現這個過程可以大大減少整合的問題,讓團隊能夠更快的開發內聚的軟體。

持續整合指的是,頻繁地(一天多次)將**整合到主幹。

它的好處主要有兩個。

(1)快速發現錯誤。每完成一點更新,就整合到主幹,可以快速發現錯誤,定位錯誤也比較容易。

(2)防止分支大幅偏離主幹。如果不是經常整合,主幹又在不斷更新,會導致以後整合的難度變大,甚至難以整合。

持續整合的目的,就是讓產品可以快速迭代,同時還能保持高質量。

它的核心措施是,**整合到主幹之前,必須通過自動化測試。

只要有乙個測試用例失敗,就不能整合。

martin fowler說過,"持續整合並不能消除bug,而是讓它們非常容易發現和改正。與持續整合相關的,還有兩個概念,分別是持續交付和持續部署。

二、持續交付

持續交付(continuous delivery)指的是,頻繁地將軟體的新版本,交付給質量團隊或者使用者,以供評審。如果評審通過,**就進入生產階段。

持續交付可以看作持續整合的下一步。它強調的是,不管怎麼更新,軟體是隨時隨地可以交付的。

三、持續部署

持續部署(continuous deployment)是持續交付的下一步,指的是**通過評審以後,自動部署到生產環境。

持續部署的目標是,**在任何時刻都是可部署的,可以進入生產階段。

持續部署的前提是能自動化完成測試、構建、部署等步驟。

測試是持續整合流程中重要的一環,也是區別去傳統的軟體開發流程中的乙個重要的標誌。為什麼要有持續整合測試呢?

1、可以早點發現bug,這就是fix bug代價比較小

2、可以平滑產品,提高產品質量

3、可以讓團隊的每個人了解產品的質量狀態

4、每天都有持續整合測試的報告發布

5、開發者對自己提交的**測試情況有比較清晰的了解

6、可以有效地解決在qa人手不足的情況

7、盡可能地把測試自動化,讓持續整合測試系統去執行這些自動化測試的case

持續整合簡介

想起我剛畢業後,進入一家以軟體外包為主的外企做開發。它使用傳統的瀑布式的軟體開發流程,沒有使用任何的敏捷實踐。我每天上班開啟電腦,拿到自己的任務,然後從版本控制更新 開啟工程按下build,準備進行今天的開發任務。突然發現build失敗 通常是編譯不過 大喊一聲 誰break build啦 也沒有人...

持續整合簡介

想起我剛畢業後,進入一家以軟體外包為主的外企做開發。它使用傳統的瀑布式的軟體開發流程,沒有使用任何的敏捷實踐。我每天上班開啟電腦,拿到自己的任 務,然後從版本控制更新 開啟工程按下build,準備進行今天的開發任務。突然發現build失敗 通常是編譯不過 大喊一聲 誰break build啦 也沒有...

持續整合 hudson sonar簡介

hudson是乙個可擴充套件的持續整合引擎。主要用於 持續 自動地構建 測試軟體專案.監控一些定時執行的任務。sonar是乙個開源的質量管理平台,專注於從專案到類方法的持續的分析和測量技術質量,它把 質量相關軟體整合到一起統一管理 簡單來說,hudson是持續 自動地構建 測試軟體專案,而sonar...