View a markdown version of this page

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 部署程序的外觀,以及管道目前位於該頻譜上的位置。