摘要:參考文章持續(xù)集成持續(xù)集成指的是,頻繁地一天多次將代碼集成到主干。說過,持續(xù)集成并不能消除,而是讓它們非常容易發(fā)現(xiàn)和改正。持續(xù)交付可以看作持續(xù)集成的下一步。持續(xù)部署的前提是能自動化完成測試構(gòu)建部署等步驟。
基本概念
什么是敏捷開發(fā)?
敏捷開發(fā)(Agile)是一種以人為核心、迭代、循序漸進(jìn)的開發(fā)方法。
在敏捷開發(fā)中,軟件項(xiàng)目的構(gòu)建被切分成多個(gè)子項(xiàng)目,各個(gè)子項(xiàng)目的成果都經(jīng)過測試,具備集成和可運(yùn)行的特征。
簡單地來說,敏捷開發(fā)并不追求前期完美的設(shè)計(jì)、完美編碼,而是力求在很短的周期內(nèi)開發(fā)出產(chǎn)品的核心功能,盡早發(fā)布出可用的版本。然后在后續(xù)的生產(chǎn)周期內(nèi),按照新需求不斷迭代升級,完善產(chǎn)品。
參考文章:http://blog.jobbole.com/110231/
持續(xù)集成指的是,頻繁地(一天多次)將代碼集成到主干。
它的好處主要有兩個(gè):
快速發(fā)現(xiàn)錯(cuò)誤。每完成一點(diǎn)更新,就集成到主干,可以快速發(fā)現(xiàn)錯(cuò)誤,定位錯(cuò)誤也比較容易。
防止分支大幅偏離主干。如果不是經(jīng)常集成,主干又在不斷更新,會導(dǎo)致以后集成的難度變大,甚至難以集成。
Martin Fowler 說過,"持續(xù)集成并不能消除 Bug,而是讓它們非常容易發(fā)現(xiàn)和改正。"
持續(xù)交付(Continuous delivery)指的是,頻繁地將軟件的新版本,交付給質(zhì)量團(tuán)隊(duì)或者用戶,以供評審。如果評審?fù)ㄟ^,代碼就進(jìn)入生產(chǎn)階段。
持續(xù)交付可以看作持續(xù)集成的下一步。它強(qiáng)調(diào)的是,不管怎么更新,軟件是隨時(shí)隨地可以交付的。
持續(xù)部署(continuous deployment)是持續(xù)交付的下一步,指的是代碼通過評審以后,自動部署到生產(chǎn)環(huán)境。
持續(xù)部署的目標(biāo)是,代碼在任何時(shí)刻都是可部署的,可以進(jìn)入生產(chǎn)階段。
持續(xù)部署的前提是能自動化完成測試、構(gòu)建、部署等步驟。
基本操作流程總體流程:
1.配置好GitRunner腳本和docker相關(guān)文件提交到 GitLab
2.提交就會觸發(fā)GitRunner程序,自動下載代碼,然后根據(jù)腳本進(jìn)行編譯構(gòu)建,運(yùn)行。
總的目標(biāo):
實(shí)現(xiàn)提交代碼就可以集成到測試環(huán)境中,無需我們再像以前那樣,需要自己安裝什么環(huán)境,下載代碼,編譯構(gòu)建等操作,完全自動處理。
大概就是流程如下圖:
此類實(shí)戰(zhàn)文字無法描述,推薦以下教程視頻或者你可以找一下相關(guān)資源:
https://www.bilibili.com/vide...
或者文末公眾號有相關(guān)docker視頻教程。
總結(jié)docker 一次構(gòu)建,到處運(yùn)行。隔離機(jī)制,與運(yùn)行環(huán)境無關(guān)。
因?yàn)檫@些特點(diǎn),就不會出現(xiàn)我們平時(shí)說的:“在我的電腦上運(yùn)行沒問題的呀”
由于隔離機(jī)制,所以不用擔(dān)心CPU多少核,系統(tǒng)是Linux或者windows,你只要有docker其他的都沒有影響。
如果對 Java、大數(shù)據(jù)感興趣請長按二維碼關(guān)注一波,我會努力帶給你們價(jià)值。覺得對你哪怕有一丁點(diǎn)幫助的請幫忙點(diǎn)個(gè)贊或者轉(zhuǎn)發(fā)哦。
關(guān)注公眾號【n平方】,回復(fù)2019有相關(guān)視頻教程哦。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/27799.html
摘要:基于的特性,以及持續(xù)集成的需求,個(gè)推采用為持續(xù)集成搭建了一整套測試系統(tǒng)。個(gè)推持續(xù)集成流程以一個(gè)假設(shè)名為模塊為例,以開發(fā)人員的視角闡述了持續(xù)集成的邏輯。 軟件開發(fā)過程中,開發(fā)成員經(jīng)常需要把自己工作集成到項(xiàng)目中,通常每個(gè)成員每天至少集成一次。如果項(xiàng)目較小,對外部的依賴較小,那么軟件集成可能不會是什么問題。但是目前很多軟件項(xiàng)目特別是互聯(lián)網(wǎng)項(xiàng)目面臨著需求不明確,系統(tǒng)架構(gòu)復(fù)雜,任務(wù)分配混亂等一系...
摘要:對測試的影響讓單元測試運(yùn)行的更順暢單元測試驅(qū)動開發(fā)是一個(gè)很好的應(yīng)用程序開發(fā)方式,單元測試往往也是和代碼一起被提交到代碼倉庫中。但是很多單元測試通常依賴于很多其他服務(wù),而這些服務(wù)的標(biāo)準(zhǔn)化配置往往是一個(gè)難點(diǎn),如數(shù)據(jù)庫的搭建防火墻的配置等。 傳統(tǒng)的軟件開發(fā)、測試、運(yùn)維需要三個(gè)團(tuán)隊(duì)在三個(gè)不同的環(huán)境中進(jìn)行,而三個(gè)環(huán)境的不同引發(fā)了很多的問題。如:工作內(nèi)容的重復(fù);開發(fā)環(huán)境中可運(yùn)行的程序在測試和運(yùn)維環(huán)...
摘要:而所謂的持續(xù),就是說每完成一個(gè)完整的部分,就向下個(gè)環(huán)節(jié)交付,發(fā)現(xiàn)問題可以馬上調(diào)整。那么每完成一部分就測試,這是持續(xù)部署。這是一個(gè)免費(fèi)的源代碼,可以處理任何類型的構(gòu)建或持續(xù)集成。容器是完全使用沙箱機(jī)制,相互之間不會有任何接口。 導(dǎo)讀: 很久沒有更新文章了 最近公司在使用Spring Cloud構(gòu)建的項(xiàng)目中經(jīng)常會持續(xù)發(fā)布變更頻繁,一天中會出現(xiàn)發(fā)布多次的情況 在這種情況下對測試環(huán)境做了改造 ...
摘要:而持續(xù)集成的意義就在于減少風(fēng)險(xiǎn),和重復(fù)的過程,最終提高工作效率。第二級調(diào)度由被稱作的組件組成。能和不同類型的通信,每種由相應(yīng)的應(yīng)用集群管理。這是的任務(wù)啟動過程。數(shù)人云運(yùn)維平臺持續(xù)集成實(shí)踐這是數(shù)人云運(yùn)維平臺的持續(xù)集成實(shí)踐。 今天小數(shù)給大家?guī)淼挠质鞘愕母韶洠寒?dāng)運(yùn)維遇到云計(jì)算,當(dāng)Docker遇到Mesos和Jenkins,會擦出怎樣的火花呢?且看來自數(shù)人云運(yùn)維工程師金燁的演講實(shí)錄分享——...
摘要:為了看起來清晰,我寫了一個(gè)文件,將這個(gè)文件和之前的放在同一個(gè)目錄中,可以用以下命令快速啟動,啟動之后新構(gòu)建的鏡像和容器都名為。 showImg(https://segmentfault.com/img/remote/1460000014924499?w=883&h=515); 在軟件開發(fā)過程中,如果我們每一次提交的代碼都能夠進(jìn)行一次完整的編譯、測試、打包、發(fā)布,就能及早發(fā)現(xiàn)問題、及早修...
閱讀 1557·2023-04-25 18:56
閱讀 1501·2021-09-29 09:34
閱讀 1722·2021-09-22 15:51
閱讀 3523·2021-09-14 18:03
閱讀 1176·2021-07-23 17:54
閱讀 2034·2019-08-29 18:38
閱讀 2914·2019-08-29 12:38
閱讀 622·2019-08-26 13:41