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