CI/CD流程在CMDB模型中的設(shè)計(jì)與應(yīng)用
原文鏈接:https://www.jianshu.com/p/67ff73372db9
前言
Jenkins Pipeline方案
流程分析
首先我們來梳理一下這個(gè)過程:

模型設(shè)計(jì)
根據(jù)上面的梳理和分析,應(yīng)將一個(gè)版本從構(gòu)建到部署當(dāng)做一次完整的流程,即同一版本的代碼只構(gòu)建一次,就能根據(jù)實(shí)際結(jié)果決定部署到測(cè)試或生產(chǎn)環(huán)境。
首先,每次提交代碼都會(huì)產(chǎn)生一個(gè)版本,用Version(版本)模型來描述。
其次,將持續(xù)集成和部署過程抽象為一個(gè)廣義的Deploy(部署)模型。Deploy模型繼承自Version模型,與Version模型是一對(duì)一的系。Deploy模型用于管理Version的整個(gè)生命周期。
Version模型主要包含以下字段:
項(xiàng)目
版本號(hào),指定的版本標(biāo)識(shí)
包路徑,該版本構(gòu)建出來的制品的路徑
版本修改說明
狀態(tài),描述該版本所處的環(huán)境/名字空間
其中狀態(tài)有以下值:開發(fā),版本處于開發(fā)狀態(tài),默認(rèn)值
測(cè)試,版本處于測(cè)試狀態(tài)
掛起,版本發(fā)布到測(cè)試環(huán)境后,又有新版本發(fā)布到測(cè)試環(huán)境,那么該版本就處于掛起狀態(tài)
中止,當(dāng)有版本部署到生產(chǎn)環(huán)境時(shí),處于掛起狀態(tài)的老版本會(huì)變成中止?fàn)顟B(tài)。
上線,版本部署到生產(chǎn)環(huán)境后就處于上線狀態(tài)
下線,上線的版本被新的版本上線代替后,變成下線狀態(tài)
開發(fā)作為Version模型生命周期的開始,中止、上線及下線三個(gè)狀態(tài)作為Version模型生命周期的結(jié)束。
Deploy模型主要包含以下字段:
步驟/階段,當(dāng)前版本的部署流程處哪個(gè)階段
各階段的時(shí)間戳
步驟/階段有以下取值:提測(cè)
構(gòu)建
部署測(cè)試
測(cè)試
部署生產(chǎn)
驗(yàn)收
模型應(yīng)用
有了上述模型,我們可以很容易獲知:
某個(gè)項(xiàng)目/應(yīng)用的所有版本狀態(tài)
所有部署的當(dāng)前進(jìn)度
根據(jù)該模型的設(shè)計(jì),實(shí)現(xiàn)的某個(gè)項(xiàng)目/應(yīng)用實(shí)例的版本信息展示:

部署實(shí)例展示:

進(jìn)一步,可以對(duì)研發(fā)工作效率和質(zhì)量進(jìn)行評(píng)估:
評(píng)估某個(gè)版本的需求效果。比如某個(gè)版本部署到測(cè)試環(huán)境后很久都不上線,那我們有理由懷疑這個(gè)新版本的需求是無用的。
通過分析Deploy每個(gè)階段的時(shí)間戳,可以評(píng)估開發(fā)/測(cè)試人員的工作效率
對(duì)可能影響重大的步驟進(jìn)行人工審批,比如部署生產(chǎn)環(huán)境的步驟。
分析所有未結(jié)束生命周期的Deploy實(shí)例(處于中止和掛起狀態(tài)的實(shí)例)的數(shù)量,來評(píng)估開發(fā)人員的工作質(zhì)量。
對(duì)持續(xù)集成和持續(xù)部署進(jìn)行可視化,多少處于測(cè)試狀態(tài)、多少處于掛起狀態(tài),一目了然。
總結(jié)
- END -
推薦閱讀 31天拿下K8S含金量最高的CKA+CKS證書! 神器 Nginx 的學(xué)習(xí)手冊(cè) ( 建議收藏 ) 運(yùn)維必備的DevOps工具鏈大盤點(diǎn) 大規(guī)模微服務(wù)利器:eBPF 與 Kubernetes 互聯(lián)網(wǎng)公司使用 Redis 的16個(gè)應(yīng)用場(chǎng)景 Nginx配置中一個(gè)不起眼字符"/"的巨大作用,失之毫厘謬以千里 企業(yè)級(jí)日志系統(tǒng) ELK 原理與實(shí)踐詳細(xì)介紹 編寫 Dockerfile 最佳實(shí)踐 運(yùn)維工程師不得不看的經(jīng)驗(yàn)教訓(xùn)和注意事項(xiàng) 終于搞懂了服務(wù)器為啥產(chǎn)生大量的TIME_WAIT! Kubernetes 網(wǎng)絡(luò)方案之炫酷的 Cilium 12年資深運(yùn)維老司機(jī)的成長(zhǎng)感悟 搭建一套完整的企業(yè)級(jí) K8s 集群(v1.20,kubeadm方式)
點(diǎn)亮,服務(wù)器三年不宕機(jī)


