天天看點

CICD之DevOps簡介一、DevOps

一、DevOps

1、什麼是DevOps

Development和Operations的組合詞;

CICD之DevOps簡介一、DevOps

DevOps循環節奏

CICD之DevOps簡介一、DevOps

DevOps: Development 和 Operations 的組合

  • DevOps 看作開發(軟體工程)、技術營運和品質保障(QA)三者的交集。
  • 突出重視軟體開發人員和運維人員的溝通合作,通過自動化流程來使得軟體建構、測試、 釋出更加快捷、頻繁和可靠。
  • DevOps 希望做到的是軟體産品傳遞過程中 IT 工具鍊的打通,使得各個團隊減少時間損 耗,更加高效地協同工作。專家們總結出了下面這個 DevOps 能力圖,良好的閉環可以大大 增加整體的産出。

2、CICD&落地實作

CICD之DevOps簡介一、DevOps

1、持續內建(Continuous Integration)

持續內建是指軟體個人研發的部分向軟體整體部分傳遞,頻繁進行內建以便更快地發現 其中的錯誤。“持續內建”源自于極限程式設計(XP),是 XP 最初的 12 種實踐之一。

CI 需要具備這些:

  • **全面的自動化測試。**這是實踐持續內建&持續部署的基礎,同時,選擇合适的 自動化測試工具也極其重要;
  • 靈活的基礎設施。容器,虛拟機的存在讓開發人員和 QA 人員不必再大費周 折;
  • **版本控制工具。**如 Git,CVS,SVN 等;
  • 自動化的建構和軟體釋出流程的工具,如 Jenkins,flow.ci;
  • **回報機制。**如建構/測試的失敗,可以快速地回報到相關負責人,以盡快解決達到一個更穩定的版本。

2、持續傳遞(Continuous Delivery)

持續傳遞在持續內建的基礎上,将內建後的代碼部署到更貼近真實運作環境的「類生産環境」(production-like environments)中。持續傳遞優先于整個産品生命周期的軟體部署,建立 在高水準自動化持續內建之上。

灰階釋出。

持續傳遞和持續內建的優點非常相似:

  • **快速釋出。**能夠應對業務需求,并更快地實作軟體價值。
  • 編碼->測試->上線->傳遞的頻繁疊代周期縮短,同時獲得迅速回報;
  • 高品質的軟體釋出标準。整個傳遞過程标準化、可重複、可靠,
  • **整個傳遞過程進度可視化,**友善團隊人員了解項目成熟度;
  • **更先進的團隊協作方式。**從需求分析、産品的使用者體驗到互動 設計、開發、測試、運維等角色密切協作,相比于傳統的瀑布式軟體團隊,更少浪費。

3、持續部署(Continuous Deployment)

持續部署是指當傳遞的代碼通過評審之後,自動部署到生産環境中。持續部署是持續傳遞的最高階段。這意味着,所有通過了一系列的自動化測試的改動都将自動部署到生産環境。它也可以被稱為“Continuous Release”。

“開發人員送出代碼,持續內建伺服器擷取代碼,執行單元測試,根據測試結果決定是否部署到預演環境,如果成功部署到預演環境,進行整體*驗收測試,如果測試通過,自動部署到産品環境,*全程自動化高效運轉。

持續部署主要好處是,可以相對獨立地部署新的功能,并能快速地收集真實使用者的回報。

“You build it, you run it”,這是 Amazon 一年可以完成 5000 萬次部署, 平均每個工程師每天部署超過 50 次的核心秘籍。
CICD之DevOps簡介一、DevOps
CICD之DevOps簡介一、DevOps

一個代碼敲完。整套自動化的流水線流程把應用直接上線。

jenkins主引擎+衆多插件=無所不能

繼續閱讀