<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          五分鐘深刻認(rèn)識(shí) DevOps 與CI、CD

          共 2073字,需瀏覽 5分鐘

           ·

          2020-12-17 18:48

          DevOps

          DevOps是DevelopmentOperations的組合,是一種方法論,是一組過程、方法與系統(tǒng)的統(tǒng)稱,用于促進(jìn)應(yīng)用開發(fā)、應(yīng)用運(yùn)維和質(zhì)量保障(QA)部門之間的溝通、協(xié)作與整合。以期打破傳統(tǒng)開發(fā)和運(yùn)營(yíng)之間的壁壘和鴻溝。

          DevOps是一種重視“軟件開發(fā)人員(Dev)”和“IT運(yùn)維技術(shù)人員(Ops)”之間溝通合作的文化、運(yùn)動(dòng)或慣例。通過自動(dòng)化“軟件交付”和“架構(gòu)變更”的流程,來使得構(gòu)建、測(cè)試、發(fā)布軟件能夠更加地快捷、頻繁和可靠。具體來說,就是在軟件交付和部署過程中提高溝通與協(xié)作的效率,旨在更快、更可靠的的發(fā)布更高質(zhì)量的產(chǎn)品。

          也就是說DevOps是一組過程和方法的統(tǒng)稱,并不指代某一特定的軟件工具或軟件工具組合。各種工具軟件或軟件組合可以實(shí)現(xiàn)DevOps的概念方法。其本質(zhì)是一整套的方法論,而不是指某種或某些工具集合,與軟件開發(fā)中設(shè)計(jì)到的OOPAOPIOC(或DI)等類似,是一種理論或過程或方法的抽象或代稱。

          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?,一下分別介紹。

          查了一些資料,關(guān)于持續(xù)交互和持續(xù)部署的概念比較混亂,以下的概念總結(jié)按大部分的資料總結(jié)而來。

          持續(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ū)嵤┎渴稹?/p>

          持續(xù)交付表示的是一種能力,而持續(xù)部署表示的則一種方式。持續(xù)部署是持續(xù)交付的最高階段

          Agile Development

          另外一個(gè)概念,也就是所謂的敏捷開發(fā),似乎還沒有所謂的簡(jiǎn)稱,而且這個(gè)稱呼似乎在國(guó)內(nèi)被濫用了。敏捷開發(fā)著重于一種開發(fā)的思路,擁抱變化和快速迭代。如何實(shí)現(xiàn)敏捷開發(fā),目前似乎尚沒有完善的工具鏈,更多的是一種概念性,調(diào)侃的說法“既想馬爾跑得快,又想馬兒不吃草”的另外一種說法。

          上圖揭示了敏捷開發(fā)的一些內(nèi)涵和目標(biāo),似乎有點(diǎn)兒一本真經(jīng)的胡說八道的意思。

          CI、CD、DevOps關(guān)系

          概念性的內(nèi)容,每個(gè)人的理解都有所不同。就好比CGI?這個(gè)詞,即可以理解成CGI這種協(xié)議,也可以理解成實(shí)現(xiàn)了CGI協(xié)議的軟件工具,都沒有問題,咬文嚼字過猶不及。留下一圖:

          參考資料:

          1、https://www.sohu.com/a/219547745_151779

          2、https://blog.csdn.net/sinat_35930259/article/details/79429743

          3、https://www.synopsys.com/blogs/software-security/agile-cicd-devops-glossary/

          4、https://mp.weixin.qq.com/s/wCFM6Ln-iG_G-Um8cad0aA

          5、https://www.redhat.com/zh/topics/devops/what-is-ci-cd

          6、https://linux.cn/article-9926-1.html

          7、https://www.mabl.com/blog/what-is-cicd

          8、https://blog.csdn.net/CrankZ/article/details/81545439


          瀏覽 33
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  午夜精品久久久久久久99老熟妇 | 成人大骚逼网 | 西西444WWW无码大胆知乎 | 中文字幕精品一区 | 一级黄理论片 |