最佳實務摘要 - 在 AWS 上實作持續整合與持續交付

最佳實務摘要

下列是一些 CI/CD 的最佳實務。

請:

  • 將您的基礎設施視為程式碼

    • 針對您的基礎設施程式碼使用版本控制。

    • 利用錯誤追蹤/票務系統。

    • 在套用變更前讓同儕檢閱變更。

    • 建立基礎設施程式碼模式/設計。

    • 以程式碼變更的相同方式測試基礎設施變更。

  • 將開發人員整合到不超過 12 名其作業獨立於其他團隊的開發人員。

  • 讓所有開發人員經常將程式碼遞交到主幹,避免長時間存在的功能分支。

  • 在您的整個組織中一致採用建置系統 (例如 Maven 或 Gradle) 並標準化建置。

  • 讓開發人員建置單元測試,並以測試 100% 的程式碼基底為目標。

  • 確保單元測試在持續時間、數量和範圍方面,佔整體測試的 70%。

  • 確保所有單元測試都維持在最新狀態,未遭到忽視。應修正單元測試失敗,而非略過。

  • 將您的持續交付組態視為程式碼。

  • 建立依角色區分的安全控制 (也就是,誰何時可以執行哪些操作)。

    • 盡可能監控/追蹤每個資源。

    • 注意服務、可用性及回應時間。

    • 發現、學習及改善。

    • 與團隊中的每位成員分享存取。

    • 將指標和監控納入生命週期規劃。

  • 保持及追蹤標準指標。

    • 建置次數。

    • 部署次數。

    • 將變更送抵生產環境的平均時間。

    • 第一個管道階段到每個階段的平均時間。

    • 送達生產環境的變更數。

    • 平均建置時間。

  • 針對每個分支和團隊使用多個獨立管道。

請勿:

  • 擁有長時間且大型又複雜相合併的分支。

  • 進行手動測試。

  • 進行手動核准程序、閘門、程式碼檢閱和安全檢閱。