

# 最佳實務摘要
<a name="summary-of-best-practices"></a>

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

 請： 
+  將您的基礎設施視為程式碼 
  +  針對您的基礎設施程式碼使用版本控制。
  +  利用錯誤追蹤/票務系統。
  +  在套用變更前讓同儕檢閱變更。
  +  建立基礎設施程式碼模式/設計。
  +  以程式碼變更的相同方式測試基礎設施變更。
+  將開發人員整合到不超過 12 名其作業獨立於其他團隊的開發人員。 
+  讓所有開發人員經常將程式碼遞交到主幹，避免長時間存在的功能分支。 
+  在您的整個組織中一致採用建置系統 (例如 Maven 或 Gradle) 並標準化建置。 
+  讓開發人員建置單元測試，並以測試 100% 的程式碼基底為目標。 
+  確保單元測試在持續時間、數量和範圍方面，佔整體測試的 70%。 
+  確保所有單元測試都維持在最新狀態，未遭到忽視。應修正單元測試失敗，而非略過。 
+  將您的持續交付組態視為程式碼。 
+  建立依角色區分的安全控制 (也就是，誰何時可以執行哪些操作)。 
  +  盡可能監控/追蹤每個資源。
  +  注意服務、可用性及回應時間。
  +  發現、學習及改善。
  +  與團隊中的每位成員分享存取。
  +  將指標和監控納入生命週期規劃。
+  保持及追蹤標準指標。
  +  建置次數。
  +  部署次數。
  +  將變更送抵生產環境的平均時間。
  +  第一個管道階段到每個階段的平均時間。
  +  送達生產環境的變更數。
  +  平均建置時間。
+  針對每個分支和團隊使用多個獨立管道。

 請勿： 
+  擁有長時間且大型又複雜相合併的分支。 
+  進行手動測試。 
+  進行手動核准程序、閘門、程式碼檢閱和安全檢閱。 