DevOps,CI,CD,自動(dòng)化簡(jiǎn)述
前言:
隨著企業(yè)應(yīng)用的不斷迭代,不斷擴(kuò)大,應(yīng)用的發(fā)布發(fā)布可能涉及多個(gè)團(tuán)隊(duì),如pc端,手機(jī)端,小程序端等等。應(yīng)用發(fā)布也就成為了一項(xiàng)高風(fēng)險(xiǎn),高壓力的超過過程,以及應(yīng)用的開發(fā)迭代的溝通,測(cè)試成本也大大的變得不可控了。這時(shí)候就出現(xiàn)了DevOps管理理念,CI,CD以及強(qiáng)大的部署自動(dòng)化手段確保部署任務(wù)的可重復(fù)性、減少部署出錯(cuò)的可能性。下面簡(jiǎn)單的描述一下這四者的基本概念。
DevOps
什么是DevOps?
DevOps(Development和Operations的組合詞)是一組過程、方法與系統(tǒng)的統(tǒng)稱,用于促進(jìn)開發(fā)、技術(shù)運(yùn)營(yíng)和質(zhì)量保障(QA)部門之間的溝通、協(xié)作與整合。
可以把DevOps看作開發(fā)、技術(shù)運(yùn)營(yíng)和質(zhì)量保障(QA)三者的交集。
DevOps好處? DevOps 使以前孤立的角色(開發(fā)、IT 運(yùn)營(yíng)、質(zhì)量工程和安全)可以協(xié)調(diào)和協(xié)作,以生產(chǎn)更好、更可靠的產(chǎn)品。通過采用 DevOps 文化、做法和工具,團(tuán)隊(duì)能夠更好地響應(yīng)客戶需求,增強(qiáng)對(duì)所構(gòu)建應(yīng)用程序的信心,更快地實(shí)現(xiàn)業(yè)務(wù)目標(biāo)。
CI/CD
CI/CD是什么?
CI/CD 是一種通過在應(yīng)用開發(fā)階段引入自動(dòng)化來頻繁向客戶交付應(yīng)用的方法。CI/CD 的核心概念是持續(xù)集成、持續(xù)交付和持續(xù)部署。作為一個(gè)面向開發(fā)和運(yùn)營(yíng)團(tuán)隊(duì)的解決方案,CI/CD 主要針對(duì)在集成新代碼時(shí)所引發(fā)的問題。具體而言,CI/CD 可讓持續(xù)自動(dòng)化和持續(xù)監(jiān)控貫穿于應(yīng)用的整個(gè)生命周期(從集成和測(cè)試階段,到交付和部署)。這些關(guān)聯(lián)的事務(wù)通常被統(tǒng)稱為“CI/CD 管道”,由開發(fā)和運(yùn)維團(tuán)隊(duì)以敏捷方式協(xié)同支持。
CI 持續(xù)集成(Continuous Integration)
現(xiàn)代應(yīng)用開發(fā)的目標(biāo)是讓多位開發(fā)人員同時(shí)處理同一應(yīng)用的不同功能。但是,如果企業(yè)安排在一天內(nèi)將所有分支源代碼合并在一起,最終可能造成工作繁瑣、耗時(shí),而且需要手動(dòng)完成。這是因?yàn)楫?dāng)一位獨(dú)立工作的開發(fā)人員對(duì)應(yīng)用進(jìn)行更改時(shí),有可能會(huì)與其他開發(fā)人員同時(shí)進(jìn)行的更改發(fā)生沖突。如果每個(gè)開發(fā)人員都自定義自己的本地集成開發(fā)環(huán)境(IDE),而不是讓團(tuán)隊(duì)就一個(gè)基于云的 IDE 達(dá)成一致,那么就會(huì)讓問題更加雪上加霜?! 〕掷m(xù)集成(CI)可以幫助開發(fā)人員更加頻繁地(有時(shí)甚至每天)將代碼更改合并到共享分支或“主干”中。一旦開發(fā)人員對(duì)應(yīng)用所做的更改被合并,系統(tǒng)就會(huì)通過自動(dòng)構(gòu)建應(yīng)用并運(yùn)行不同級(jí)別的自動(dòng)化測(cè)試(通常是單元測(cè)試和集成測(cè)試)來驗(yàn)證這些更改,確保這些更改沒有對(duì)應(yīng)用造成破壞。這意味著測(cè)試內(nèi)容涵蓋了從類和函數(shù)到構(gòu)成整個(gè)應(yīng)用的不同模塊。如果自動(dòng)化測(cè)試發(fā)現(xiàn)新代碼和現(xiàn)有代碼之間存在沖突,CI 可以更加輕松地快速修復(fù)這些錯(cuò)誤。CD 持續(xù)交付(Continuous Delivery)完成 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)境中。
CD 持續(xù)部署(Continuous Deployment)
對(duì)于一個(gè)成熟的 CI/CD 管道來說,最后的階段是持續(xù)部署。作為持續(xù)交付——自動(dòng)將生產(chǎn)就緒型構(gòu)建版本發(fā)布到代碼存儲(chǔ)庫(kù)——的延伸,持續(xù)部署可以自動(dòng)將應(yīng)用發(fā)布到生產(chǎn)環(huán)境。由于在生產(chǎn)之前的管道階段沒有手動(dòng)門控,因此持續(xù)部署在很大程度上都得依賴精心設(shè)計(jì)的測(cè)試自動(dòng)化。實(shí)際上,持續(xù)部署意味著開發(fā)人員對(duì)應(yīng)用的更改在編寫后的幾分鐘內(nèi)就能生效(假設(shè)它通過了自動(dòng)化測(cè)試)。這更加便于持續(xù)接收和整合用戶反饋??偠灾?,所有這些 CI/CD 的關(guān)聯(lián)步驟都有助于降低應(yīng)用的部署風(fēng)險(xiǎn),因此更便于以小件的方式(而非一次性)發(fā)布對(duì)應(yīng)用的更改。不過,由于還需要編寫自動(dòng)化測(cè)試以適應(yīng) CI/CD 管道中的各種測(cè)試和發(fā)布階段,因此前期投資還是會(huì)很大。
自動(dòng)化
IT 自動(dòng)化是什么意思?
IT 自動(dòng)化有時(shí)也稱為基礎(chǔ)架構(gòu)自動(dòng)化,是使用軟件來創(chuàng)建可重復(fù)的指令和進(jìn)程,以此取代或減少人類與 IT 系統(tǒng)的交互。自動(dòng)化軟件在這些指令、工具和框架的約束范圍內(nèi)工作,從而在幾乎不需人工干預(yù)的情況下執(zhí)行任務(wù)。
為什么需要 IT 自動(dòng)化?
自動(dòng)化是IT 優(yōu)化和數(shù)字化轉(zhuǎn)型的關(guān)鍵。如今多變的 IT 環(huán)境需要以前所未有的速度進(jìn)行擴(kuò)展,而這個(gè)目標(biāo)的實(shí)現(xiàn)離不開 IT 自動(dòng)化。
參考文章
https://azure.microsoft.com/zh-cn/overview/what-is-devops/https://baike.baidu.com/item/devops/2613029https://www.redhat.com/zh/topics/devops/what-is-ci-cdhttps://www.redhat.com/zh/topics/automation/whats-it-automation
到此這篇關(guān)于DevOps,CI,CD,自動(dòng)化簡(jiǎn)單介紹的文章就介紹到這了,更多相關(guān)DevOps,CI,CD,自動(dòng)化內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
測(cè)試框架JUnit VS TestNG對(duì)比分析
這篇文章主要為大家介紹了測(cè)試框架JUnit VS TestNG對(duì)比分析詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07thymeleaf實(shí)現(xiàn)th:each雙重多重嵌套功能
今天給大家分享一個(gè)使用 thymeleaf 實(shí)現(xiàn)一個(gè)動(dòng)態(tài)加載一二級(jí)文章分類的功能,本文通過代碼講解的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2019-11-11有意思的數(shù)據(jù)結(jié)構(gòu)默克樹 Merkle tree應(yīng)用介紹
這篇文章主要為大家介紹了有意思的數(shù)據(jù)結(jié)構(gòu)默克樹 Merkle tree應(yīng)用介紹,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09SSO單點(diǎn)登錄和OAuth2.0區(qū)別小結(jié)
很多時(shí)候我們會(huì)使用單點(diǎn)登錄SSO或者OAuth2.0等身份驗(yàn)證和授權(quán)來實(shí)現(xiàn)登錄,本文主要介紹了SSO單點(diǎn)登錄和OAuth2.0區(qū)別小結(jié),具有一定的參考價(jià)值,感興趣的可以了解一下2024-06-06科學(xué)知識(shí):同步、異步、阻塞和非阻塞區(qū)別
這篇文章主要介紹了科學(xué)知識(shí):同步、異步、阻塞和非阻塞區(qū)別,本文分別講解了這些概念,需要的朋友可以參考下2015-05-05Dreamweaver中如何設(shè)定文字大小、字體、顏色
這篇文章主要給大家介紹了關(guān)于Dreamweaver中如何設(shè)定文字大小、字體、顏色的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2007-06-06VSCode各語言運(yùn)行環(huán)境配置方法示例詳解
這篇文章主要介紹了VSCode各語言運(yùn)行環(huán)境配置方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家介紹的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05