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