

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

# CI/CD 管道的最佳實務
<a name="cicd-best-practices"></a>

以下是完全 CI/CD 管道的最佳實務：
+ **保護生產環境** – 由於使用 IaC 幾乎可以完成帳戶和環境維護所需的一切，因此請務必透過限制主控台和程式設計存取，盡一切努力保護生產環境。我們建議僅限制對少數或甚至零使用者的存取。當您透過 部署 IaC 時 AWS CloudFormation，使用者需要有限的許可。大多數許可會透過服務角色指派給 CloudFormation 服務。如需詳細資訊，請參閱 CloudFormation 文件中的[服務角色](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-servicerole.html)和[實作 最低權限許可的政策 AWS CloudFormation](https://docs.aws.amazon.com/prescriptive-guidance/latest/least-privilege-cloudformation/introduction.html)。
+ **為每個環境建立個別帳戶** – 透過為每個環境指定個別帳戶，您可以簡化部署程序，並在帳戶層級建立精細存取控制。當多個環境共用資源時，它會以隔離單位的形式降低環境的完整性。最好保持環境同步且獨特。這對生產環境更為重要，因為該帳戶中的所有內容都應該視為生產資源。
+ 將**個人身分識別資訊 (PII) 限制在生產環境** – 同時為了安全和保護免於責任風險，請盡可能保護 PII。在較低的環境中，盡可能使用匿名資料或範例資料，而不是從生產環境複製潛在的敏感資料。
+ **檢閱儲存庫中的程式碼** – 完整 CI/CD 程序會將管道的進入點減少至單一點，且應保護該單一點。因此，建議您在將特徵分支合併到主分支之前，需要多個程式碼檢閱。這些程式碼檢閱可由任何合格的團隊成員執行，但至少應該有一個資深成員進行檢閱。程式碼應由檢閱者嚴格測試。畢竟，修正管道問題的最佳方法是避免將問題引入管道。此外，請務必解決任何檢閱者在合併之前所做的所有註解。此解決方案可能只是解釋為什麼不需要變更，但解決所有評論是一項重要的額外檢查，有助於防止將問題引入管道。
+ **進行小型且頻繁的合併** – 為了充分利用持續整合，最好也持續將本機變更推送至管道。畢竟，如果本機環境也跟上同步，讓開發環境保持同步會更有利。

如需 CI/CD 管道的更多最佳實務，請參閱*實作持續整合和持續交付 AWS*中的[最佳實務摘要](https://docs.aws.amazon.com/whitepapers/latest/practicing-continuous-integration-continuous-delivery/summary-of-best-practices.html)。