持續(xù)集成可以說是軟件開發(fā)過程中非常重要的工作。作為一種軟件開發(fā)實踐,持續(xù)集成即團隊開發(fā)成員經(jīng)常集成他們的工作,通過每個成員每天至少集成一次,也就意味著每天可能會發(fā)生多次集成。每次集成都通過自動化的構(gòu)建(包括編譯,發(fā)布,自動化測試)來驗證,從而盡早地發(fā)現(xiàn)集成錯誤。那么持續(xù)集成具體能帶來哪些方面的作用呢?
中培偉業(yè)《軟件自動化測試與持續(xù)集成實踐》培訓專家劉老師指出,持續(xù)集成主要包括以下5個方面的作用:
第一個作用:減少風險
通過每天集成變化的代碼并發(fā)布,我們將減少項目的風險。這樣做將可以推動盡早發(fā)現(xiàn)缺陷;盡早估量軟件的質(zhì)量;盡早排除假設。
盡早發(fā)現(xiàn)缺陷并修復缺陷。軟件開發(fā)中每天持續(xù)集成,并進行測試和評審,這些過程有許多的機會發(fā)現(xiàn)缺陷。
盡早估量軟件質(zhì)量 。通過在持續(xù)集成中實施持續(xù)測試和評審的活動,軟件產(chǎn)品的健康屬性,例如復雜性,將被全程跟蹤。
盡早排除假設通過在一個純凈的環(huán)境中,用同樣的腳本和過程構(gòu)建和測試軟件,開發(fā)人員可以減少假設:是否使用了不正確的第三方的庫,是否使用了不同的環(huán)境參數(shù)等。
每個開發(fā)過程的步驟都是依次執(zhí)行的;在構(gòu)建腳本,將依次執(zhí)行編譯,自動測試等動作。
在版本控制庫中,當代碼提交發(fā)生時,構(gòu)建過程自動執(zhí)行。
通過減少在重復性工作上的勞動力,讓開發(fā)工程師做更多有價值的工作。
持續(xù)集成可以讓項目組在任一點上及時提交可以安裝的軟件包。這是持續(xù)集成最可看見的一個益處。我們可以無休止地討論改善軟件質(zhì)量和減少風險,但是對用戶或者客戶來說,可以安裝的軟件包是最切實可行的。
第二個作用:減少重復的過程
通過減少重復性的動作來節(jié)省時間,成本,提高效率。在軟件的開發(fā)過程中,有許多重復性的活動,這些活動包括代碼編譯,數(shù)據(jù)庫集成,測試,評審,部署,信息反饋等。通過自動化的持續(xù)集成,你將獲得如下能力:任何時候都可以執(zhí)行一致的流程。
第三個作用:產(chǎn)生可部署的軟件
第四個作用:使得項目更加透明
持續(xù)集成能夠更好地呈現(xiàn)項目各成員的工作,從而使整個項目編的更加透明。
第五個作用:建立項目信心
持續(xù)集成實際上就是一種成果的交流和展示,在集成過程中能夠更好的集思廣益,從而提升團隊對項目的信心。