1. devops簡介

一、什么是devops

1.1 devops定義

DevOps是一組過程方法與系統(tǒng)的統(tǒng)稱,用于促進(jìn)開發(fā)、技術(shù)運營和質(zhì)量保障部門之間的溝通、協(xié)作與整合:以始為終,運維合一

1.2 devops理念

理念是讓開發(fā)人員可以持續(xù)集成,運維人員可以持續(xù)交付和持續(xù)部署。讓整個開發(fā)過程自動部署與上線

1.3 devops實現(xiàn)

devops圖

這里從開發(fā)和運維兩個方面初步介紹devops實現(xiàn)需要用到的工具

  • 開發(fā):git、gitlab、github、githab(代碼平臺),sonarqube(代碼質(zhì)量檢測),appscan(漏洞掃描)……
    -運維:jenkins、docker、k8s、maven……

二、CI/CD/CO基礎(chǔ)

  • CI:持續(xù)集成
  • CD:持續(xù)交付
  • CO:持續(xù)部署

2.1 持續(xù)集成CI

持續(xù)集成指的是開發(fā)人員能夠頻繁地將其代碼集成到公共代碼倉庫的主分支中。
開發(fā)人員能夠在任何時候多次向倉庫提交作品,而不是獨立地開發(fā)每個功能模塊并在開發(fā)周期結(jié)束時一一提交。
持續(xù)集成的好處就是可以加速了軟件開發(fā)進(jìn)度,快速的發(fā)現(xiàn)錯誤,節(jié)省人力成本。


持續(xù)集成

2.2 持續(xù)交付CD

持續(xù)交付指的是在持續(xù)集成的環(huán)境基礎(chǔ)之上,將代碼部署到預(yù)生產(chǎn)環(huán)境。
持續(xù)交付:代碼開發(fā)->單元測試->合并代碼-->測試-->手動-->部署到預(yù)生產(chǎn)


持續(xù)交付

2.3 持續(xù)部署CO

持續(xù)部署是持續(xù)交付的下一步,指代碼在任何時刻都是可部署的,最后將部署到生產(chǎn)環(huán)境的過程自動化。
持續(xù)部署和持續(xù)交付的區(qū)別就是最終部署到生產(chǎn)環(huán)境是自動化的


持續(xù)部署

三、持續(xù)集成實施(代碼發(fā)布流程)

代碼發(fā)布流程
  1. 第一步,開發(fā)者向代碼倉庫提交代碼。
  2. 第二步,根據(jù)開發(fā)者提交的代碼合并到主分支進(jìn)行自動化測試,這里是進(jìn)行單元測試,也就是對函數(shù)和模塊進(jìn)行測試。
  3. 第三步,源碼構(gòu)建,指的是將源碼轉(zhuǎn)換為可以運行的實際代碼,比如安裝依賴,配置各種資源。
  4. 第四步,構(gòu)建完成進(jìn)行第二輪全面測試,這里會進(jìn)行單元測試和集成測試,對產(chǎn)品功能進(jìn)行全鏈路測試。
  5. 第五步,將通過測試的代碼版本進(jìn)行打包存檔,發(fā)送到生產(chǎn)環(huán)境的web服務(wù)器,web服務(wù)器解壓后,將站點目錄通過符號鏈接指向解壓后的本地目錄。(ps:在部署之前將數(shù)據(jù)庫進(jìn)行備份,方便新版本出現(xiàn)的問題時進(jìn)行回滾)
  6. 第六步,新版本出現(xiàn)難以修復(fù)的問題時進(jìn)行回滾到之前版本,這里只需要將符號鏈接指向指向上一個版本的目錄即可,將之前備份的數(shù)據(jù)庫進(jìn)行恢復(fù)。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容