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