W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
在軟件工程中,CI/CD或CICD通常指的是持續(xù)集成和持續(xù)交付或持續(xù)部署的組合實踐。 ——引自維基百科
——引自《CI/CD是什么?如何理解持續(xù)集成、持續(xù)交付和持續(xù)部署》
- 現(xiàn)代應(yīng)用開發(fā)的目標(biāo)是讓多位開發(fā)人員同時處理同一應(yīng)用的不同功能。但是,如果企業(yè)安排在一天內(nèi)將所有分支源代碼合并在一起(稱為“合并日”),最終可能造成工作繁瑣、耗時,而且需要手動完成。這是因為當(dāng)一位獨立工作的開發(fā)人員對應(yīng)用進行更改時,有可能會與其他開發(fā)人員同時進行的更改發(fā)生沖突。如果每個開發(fā)人員都自定義自己的本地集成開發(fā)環(huán)境(IDE),而不是讓團隊就一個基于云的 IDE 達成一致,那么就會讓問題更加雪上加霜。
- 持續(xù)集成(CI)可以幫助開發(fā)人員更加頻繁地(有時甚至每天)將代碼更改合并到共享分支或“主干”中。一旦開發(fā)人員對應(yīng)用所做的更改被合并,系統(tǒng)就會通過自動構(gòu)建應(yīng)用并運行不同級別的自動化測試(通常是單元測試和集成測試)來驗證這些更改,確保這些更改沒有對應(yīng)用造成破壞。這意味著測試內(nèi)容涵蓋了從類和函數(shù)到構(gòu)成整個應(yīng)用的不同模塊。如果自動化測試發(fā)現(xiàn)新代碼和現(xiàn)有代碼之間存在沖突,CI 可以更加輕松地快速修復(fù)這些錯誤。
從概念上來看,CI/CD包含部署過程,我們這里將部署(CD)單獨放在一節(jié)服務(wù)部署, 本節(jié)就以gitlab來做簡單的CI(Run Unit Test)演示。
Gitlab CI/CD是Gitlab內(nèi)置的軟件開發(fā)工具,提供
stages:
- analysis
analysis:
stage: analysis
image: golang
script:
- go version && go env
- go test -short $(go list ./...) | grep -v "no test"
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: