自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

基于Kubernetes的CICD實(shí)戰(zhàn)

云計(jì)算 云原生
CICD 是 DevOps 文化的一種實(shí)現(xiàn),旨在通過 CICD 流水線讓應(yīng)用可以從代碼簽入、測(cè)試、構(gòu)建和部署直至生產(chǎn)階段都在流水線中向前推進(jìn)。企業(yè)一旦引入 CICD,就可以將其部分或者全部自動(dòng)化,而且加快交付流程,降低溝通成本以及錯(cuò)誤成本。

大家好,我是喬克,一個(gè)喜歡開發(fā)的運(yùn)維工程師,一個(gè)睡覺都會(huì)被自己丑醒的云原生愛好者。

什么是DevOps

在過去十年,DevOps 一直是大家熱議的話題,10 個(gè)人心中有 10 個(gè)哈姆雷特,十家公司卻不止十個(gè) DevOps 定義,也許在你從事技術(shù)的生涯中,聽過不止 100 種 DevOps 定義。那究竟什么是 DevOps 呢?在維基百科上是這么說的,DevOps 是一種重視“軟件開發(fā)人員(Dev)”和“IT 運(yùn)維人員(Ops)”之間溝通合作的文化、運(yùn)動(dòng)或慣例。通過自動(dòng)化“軟件交付”和“架構(gòu)變更”的流程,來使構(gòu)建、測(cè)試、發(fā)布軟件能夠更加地快捷、頻繁和可靠。在我看來,DevOps 是一套圍繞軟件開發(fā)整個(gè)生命周期,以不斷改進(jìn)和提高交付價(jià)值的最佳實(shí)踐。通過 DevOps,讓開發(fā)、運(yùn)維、運(yùn)營(yíng)之間可以平等地傳播文化,而不用局限在特定的角色。DevOps 強(qiáng)調(diào)通過一系列手段來實(shí)現(xiàn)既快又穩(wěn)的工程流程,使每個(gè)想法從開發(fā)到生產(chǎn)的周期內(nèi)都能不斷的為用戶帶來價(jià)值。它是一個(gè)方法論,并不指代某一特定的軟件工具或軟件工具組合。各種工具軟件或軟件組合可以實(shí)現(xiàn) DevOps 的概念方法。其本質(zhì)是一整套的方法論,而不是指某種或某些工具集合,與軟件開發(fā)中涉及到的 OOP、AOP、IOC(或 DI)等類似,是一種理論或過程或方法的抽象或代稱。

什么是CICD

CICD 是 DevOps 文化的一種實(shí)現(xiàn),旨在通過 CICD 流水線讓應(yīng)用可以從代碼簽入、測(cè)試、構(gòu)建和部署直至生產(chǎn)階段都在流水線中向前推進(jìn)。企業(yè)一旦引入 CICD,就可以將其部分或者全部自動(dòng)化,而且加快交付流程,降低溝通成本以及錯(cuò)誤成本。

CI

CI 的英文名稱是 Continuous Integration,中文翻譯為:持續(xù)集成。?CI 中,開發(fā)人員將會(huì)頻繁地向主干提交代碼,這些新提交的代碼在最終合并到主干前,需要經(jīng)過編譯和自動(dòng)化測(cè)試流進(jìn)行驗(yàn)證。持續(xù)集成(CI)是在源代碼變更后自動(dòng)檢測(cè)、拉取、構(gòu)建和(在大多數(shù)情況下)進(jìn)行單元測(cè)試的過程。持續(xù)集成的目標(biāo)是快速確保開發(fā)人員新提交的變更是好的,并且適合在代碼庫(kù)中進(jìn)一步使用。CI 的流程執(zhí)行和理論實(shí)踐讓我們可以確定新代碼和原有代碼能否正確地集成在一起。

CD

CD 可對(duì)應(yīng)多個(gè)英文名稱,持續(xù)交付 Continuous Delivery 和持續(xù)部署 Continuous Deployment ,下面分別介紹。

持續(xù)交付

完成 CI 中構(gòu)建及單元測(cè)試和集成測(cè)試的自動(dòng)化流程后,持續(xù)交付可自動(dòng)將已驗(yàn)證的代碼發(fā)布到存儲(chǔ)庫(kù)。為了實(shí)現(xiàn)高效的持續(xù)交付流程,務(wù)必要確保 CI 已內(nèi)置于開發(fā)管道。持續(xù)交付的目標(biāo)是擁有一個(gè)可隨時(shí)部署到生產(chǎn)環(huán)境的代碼庫(kù)。?在持續(xù)交付中,每個(gè)階段(從代碼更改的合并,到生產(chǎn)就緒型構(gòu)建版本的交付)都涉及測(cè)試自動(dòng)化和代碼發(fā)布自動(dòng)化。在流程結(jié)束時(shí),運(yùn)維團(tuán)隊(duì)可以快速、輕松地將應(yīng)用部署到生產(chǎn)環(huán)境中或發(fā)布給最終使用的用戶。

持續(xù)集成

對(duì)于一個(gè)成熟的 CI/CD 管道(Pipeline)來說,最后的階段是持續(xù)部署。作為持續(xù)交付——自動(dòng)將生產(chǎn)就緒型構(gòu)建版本發(fā)布到代碼存儲(chǔ)庫(kù)——的延伸,持續(xù)部署可以自動(dòng)將應(yīng)用發(fā)布到生產(chǎn)環(huán)境。?持續(xù)部署意味著所有的變更都會(huì)被自動(dòng)部署到生產(chǎn)環(huán)境中。持續(xù)交付意味著所有的變更都可以被部署到生產(chǎn)環(huán)境中,但是出于業(yè)務(wù)考慮,可以選擇不部署。如果要實(shí)施持續(xù)部署,必須先實(shí)施持續(xù)交付。持續(xù)交付并不是指軟件每一個(gè)改動(dòng)都要盡快部署到產(chǎn)品環(huán)境中,它指的是任何的代碼修改都可以在任何時(shí)候?qū)嵤┎渴?。持續(xù)交付表示的是一種能力,而持續(xù)部署表示的則一種方式。持續(xù)部署是持續(xù)交付的最高階段。

CICD 和 DevOps 的關(guān)系

CICD 是軟件工程實(shí)踐的方法,而 DevOps 是一種文化,CICD 只是 DevOps 文化體系中的一環(huán),但是從目前國(guó)內(nèi)的實(shí)踐來看,CICD 算是最重要的一環(huán)了。

圖片

企業(yè)如何落地CICD

對(duì)于企業(yè)來說,CICD是必不可少的一環(huán),而且隨著云原生的發(fā)展,CICD工具集也百花齊放。

但是,作為老牌的CICD工具,Jenkins在其中依然處于至關(guān)重要的位置,大部分企業(yè)在落地CICD的時(shí)候都會(huì)優(yōu)先考慮使用Jenkins。

為此,我開發(fā)了一套基于Jenkins實(shí)現(xiàn)的CICD課程,帶你從0到1建立一套完整的CICD,整個(gè)課程涵蓋:

  • Kubernetes的部署使用
  • Helm Chart開發(fā)使用
  • Jenkins Pipeline開發(fā)、共享庫(kù)使用
  • Argocd持續(xù)部署
  • Argo Rollouts灰度發(fā)布
  • ......
責(zé)任編輯:姜華 來源: 運(yùn)維開發(fā)故事
相關(guān)推薦

2023-02-10 10:54:48

DevOpsCICD

2021-07-07 10:21:26

技術(shù)

2021-07-26 14:31:49

GitLab KubernetesFlask Web

2020-04-09 15:23:19

Kubernetes發(fā)布系統(tǒng)集群

2015-07-17 10:25:43

kubernetesDocker集群系統(tǒng)

2017-08-23 11:10:44

Kubernetes 調(diào)度詳解

2020-01-07 09:25:02

服務(wù)網(wǎng)格微服務(wù)Kubernetes

2020-04-27 09:38:15

Kubernetes多云混合云

2020-03-06 16:00:04

KubernetesSpark容器

2021-02-24 09:15:48

kubernetes混合云云端

2021-03-11 10:24:58

Kubernetes混合云云平臺(tái)

2023-09-05 08:21:07

項(xiàng)目CICD場(chǎng)景

2015-08-04 10:26:44

OpenStackKubernetes容器管理

2019-05-21 10:45:44

Docker架構(gòu)容器

2023-11-08 00:23:08

網(wǎng)關(guān)API

2020-12-01 08:21:05

微服務(wù)監(jiān)控Kubernetes

2023-09-26 06:54:01

2022-05-11 08:45:49

VaultGitlab加密

2022-04-01 10:51:33

TektonArgoCDGitOps

2022-07-07 18:02:02

磁盤過濾器驅(qū)動(dòng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)