CI/CD 管道的 Litmus 測試 - AWS 方案指引

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

CI/CD 管道的 Litmus 測試

在化學中,貼圖紙是薄紙條,以特殊紅色或藍色染色處理,用於判斷物質的酸性。一種酸會變成藍色光蕩紙紅色,一種基底會變成紅色光蕩紙藍色,而中性物質完全不會影響紙張的顏色。

貼圖紙判斷酸性的方式是測量物質的 pH 值。如果 pH 值高於 8,則為酸性;如果低於 5,則為基本;如果介於 5 到 8 之間,則為中性。同樣地,CI/CD 貼圖測試可協助您測量管道的 CI/CD 層級。

測試您的管道是否為完全 CI/CD
  1. 從 0 分開始。

  2. 回答下列每個問題,並在每次回答時為您的分數加上 1:

    • 我們的儲存庫是否每個儲存庫都有一個用來部署到環境的主分支?

    • 我們是否經常將程式碼遞交給主分支,並避免擁有長時間執行的功能分支?

    • 我們的管道是否具有單一進入點? 換句話說,我們的管道是否確實從每個儲存庫提取程式碼一次?

    • 我們是否有多個部署環境?

    • 當管道未執行時,我們的上下環境是否通常同步?

    • 在部署之前,我們是否對程式碼執行測試?

    • 在提升到下一個環境之前,我們是否在環境上執行測試?

    • 我們的管道是否在故障後進行完整復原和結束?

    • 從故障復原時,我們的管道是否從第一步重新啟動?

    • 我們是否遵循相同的程序來修正生產環境中的錯誤,以將功能發佈至生產環境?

    • 我們是否使用某種形式的基礎設施做為程式碼 (IaC) 範本來部署程式碼?

  3. 回答下列每個問題,並在每次回答時為您的分數加上 1:

    • 我們是否曾經從主分支以外的分支直接部署到部署環境?

    • 我們是否曾經從任何分支直接部署到上層或生產環境?

    • 我們是否經常在上層環境中發現不存在的錯誤?

    • 在部署期間,我們是否曾經繞過較低的環境?

    • 我們是否等到排定的發行時間才能部署到生產環境?

    • 我們是否定期在生產環境的主控台進行更新?

    • 是否有任何手動部署步驟必須在生產環境的主控台中完成,才能完成部署?

    • 是否有多個人員具有生產環境的寫入存取權?

    • 是否超過五個人具有生產環境的寫入存取權?

  4. 將您的分數除以 2。這是管道的 CI/CD 分數。

  5. 將管道的 CI/CD 分數與下表進行比較,以判斷管道的 CI/CD 層級。

    CI/CD 分數

    CI/CD 層級

    9.5 或更新版本

    完全 CI/CD

    8–9

    主要是 CI/CD

    5–7

    Neutral

    低於 5

    非 CI/CD

如果您得分低於 8,我們建議您設定目標,逐步邁向下一個關卡。當實現該目標時,產品利益相關者應評估是否以及何時設定新目標。此練習的意圖不一定會擁護您管道的變更,而是讓您了解完整 CI/CD 部署程序的外觀,以及管道目前位於該頻譜上的位置。