摘要:今天,我們來了解下什么是“持續交付”及“持續交付”的實踐,
云原生是當下IT圈非常熱門的一個詞,其目的是為了各組織在公有云、私有云和混合云等新型動態環境中,構建和運行可彈性擴展的應用,云原生包含很多技術,比如容器、微服務、DevOps、持續交付等,今天,我們來了解下什么是“持續交付”及“持續交付”的實踐,
什么是持續交付
持續交付是指,所有開發人員都在主干上進行小批量作業,或者在短時間存在的特性分支上作業且定期向主干合并,同時始終讓主干保持可發布狀態,保證代碼可以按需進行一鍵式發布,開發人員在引入任何回歸錯誤時(包括缺陷、性能問題、安全問題、可用性問題等),都能快速得到反饋,一旦發現這類問題,就立即加以解決,從而保持主干始終處于可部署狀態,
( Wikipedia: Continuous delivery (CD) is a software engineering approach in which teams produce software in short cycles, ensuring that the software can be reliably released at any time. )
持續交付是持續集成的延伸,將集成后的代碼部署到類生產環境,確保可以以可持續的方式快速向客戶發布新的更改,如果代碼沒有問題,可以繼續手動部署到生產環境中,
持續交付流水線
隨著開發模式的日益成熟,軟體開發程序中的每個環節已經越來越標準化了,但是這些環節都相對獨立,需要一個東西將他們連接成一個整體,
如果我們能將這些環節——構建、發布、測驗、部署有效的串聯起來,形成一套完成的持續交付流水線,就能提高軟體的發布效率與質量,持續不斷的創造業務價值,
持續交付流水線作業流程大致如下:

- 開發人員將代碼提交至代碼倉庫;
- 編譯構建服務器獲取到代碼倉庫檔案變更資訊,從代碼倉庫拉取代碼,進行編譯構建,生成二進制軟體包,并將生成的軟體包保存到制品庫,構建程序中,每一步成功與否,都需將結果反饋給對應的開發人員,
- 構建完成后,將軟體包按需部署到測驗環境,進行測驗,同時測驗結果反饋給開發人員,
- 測驗完成,由業務側決定是否將軟體包發布到生產環境,如果需要發布,則通過人工將軟體包發布到生產環境,
當然,流程并非固定的,可以根據具體的業務需要,穿插其他流程,比如靜態代碼檢查,性能測驗等,
為什么要做持續交付
持續交付適用于幾乎任何對質量、交付速度和結果的可預測性有要求的低風險部署和發布場景,包括嵌入式系統、web應用、移動應用等,開發者通過持續交付可以自動完成發布程序,并且可以通過單擊按鈕隨時部署應用程式,
理論上講,持續交付可以滿足每日一次、每周一次等固定發布頻率,或者滿足業務需求的任何頻率,但是,如果真的想獲得持續交付的好處,應盡早將應用部署到生產環境,以確保可以小批次發布,并且發現問題后及時排除故障,
實踐:通過華為云DevCloud實作持續交付
代碼提交
華為云DevCould代碼托管CodeHub是一個線上代碼倉庫,為開發者提供基于Git的在線代碼托管服務,包括代碼克隆/提交/推送/比較/合并/Code Review等功能,
開發人員可將代碼提交至CodeHub,
編譯構建
在“編譯構建”服務中,用戶可根據自己的編程語言,編程環境,自主配置所需的構建步驟,并對指定的代碼倉庫進行編譯構建,
當然華為云DevCloud的編譯構建功能支持持續集成:提交代碼觸發執行編譯構建,
配置部署任務
部署功能與編譯構建在使用方面類似,都是根據自己的業務場景配置相應的部署任務,任務配置完成后,可根據業務需要,執行部署任務,
持續交付流水線
之前提到了持續交付流水線,華為云DevCloud流水線功能可以將已經配置好構建,部署等服務串聯到一起,實作一鍵部署,
點擊關注,第一時間了解華為云新鮮技術~
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/537719.html
標籤:其他
上一篇:云圖說|移動應用安全服務—App的體檢中心,全面檢測,安全上路!
下一篇:深度學習框架新手快速上手指南
