什麼是持續傳遞?
持續傳遞價值已成為組織的必要需求。 若要為終端使用者提供價值,您必須持續發行且不會發生錯誤。
持續傳遞 (CD) 是將組建、測試、設定和部署從組建自動化至生產環境的程式。 發行管線可以建立多個測試或預備環境,以自動化基礎結構建立和部署新的組建。 後續環境支援漸進式執行時間較長的整合、負載和使用者驗收測試活動。
在 CD 之前,軟體發行週期是應用程式和作業小組的瓶頸。 這些小組通常依賴手動交接,在發行週期期間導致問題。 手動程式導致產生延遲和錯誤的不可靠版本。
CD 是一種 精簡 的做法,目標是讓生產環境保持最新狀態,以最快的路徑從新的程式碼或元件可用性到部署。 自動化可將部署 時間和時間降至最低,以減輕 (TTM) 或 補救 (TTR) 生產事件的時間。 就精簡而言,CD 會優化程序時間,並消除閑置時間。
持續整合 (CI) 會啟動CD程式。 發行管線在測試順利完成之後,將每個後續環境分階段到下一個環境。 自動化CD發行管線允許 快速 驗證方法,其中測試最有可能先執行失敗,且執行時間較長的測試只會在較快的測試成功完成之後發生。
基礎結構即程序代碼 (IaC) 和監視的互補做法有助於CD。
漸進式曝光技術
CD 支援數種漸進式曝光模式,也稱為「控制爆炸半徑」。這些做法會限制對部署的暴露程度,以避免整體使用者群有風險的問題。
CD 可以循序多個 部署通道 進行漸進式曝光。 通道會嘗試在使用者群組上進行部署,並監視其體驗。 第一個 部署通道可以是 Canary ,可在更廣泛的推出之前,在生產環境中測試新版本。 CD 會將從一個通道到下一個通道的部署自動化。
部署至下一個通道可以選擇性地取決於手動核准步驟,讓決策者以電子方式註銷變更。 CD 可以建立核准的可稽核記錄,以滿足法規程式或其他控制目標。
藍色/綠色部署 仰賴在新的綠色版本部署時維持現有的藍色版本。 這種做法通常會使用負載平衡將增加的流量導向綠色部署。 如果監視發現事件,可以將流量重新路由傳送至仍在執行的藍色部署。
功能旗標 或 功能切換 是實驗和 深色啟動的另一種技術。 功能旗標會根據身分識別和群組成員資格來開啟或關閉不同使用者群組的功能。
新式發行管線可讓開發小組快速且安全地部署新功能。 CD 可以透過向前復原新的部署,快速補救生產環境中發現的問題。 如此一來,CD 會建立客戶價值的連續串流。