為多帳戶 DevOps環境選擇 Git 分支策略 - AWS 規範指引

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

為多帳戶 DevOps環境選擇 Git 分支策略

Amazon Web Services (貢獻者)

2024 年 2 月 (文件歷史記錄)

遷移至雲端型方法並在 上提供軟體解決方案 AWS 可能是變革性的。這可能需要變更您的軟體開發生命週期程序。一般而言,在 中的開發過程中 AWS 帳戶 會使用多個 AWS 雲端。選擇相容的 Git 分支策略與您的 DevOps 程序配對對於成功至關重要。為您的組織選擇正確的 Git 分支策略,可協助您在開發團隊之間簡潔地傳達 DevOps 標準和最佳實務。Git 分支在單一環境中可能很簡單,但在跨多個環境套用時可能會變得令人困惑,例如沙盒、開發、測試、預備和生產環境。擁有多個環境會增加實作的 DevOps複雜性。

本指南提供 Git 分支策略的視覺化圖表,示範組織如何實作多帳戶 DevOps 程序。視覺化指南可協助團隊了解如何將 Git 分支策略與其 DevOps 實務合併。使用 Gitflow、 GitHub Flow 或 Trunk 等標準分支模型來管理原始程式碼儲存庫,有助於開發團隊調整工作。這些團隊也可以在網際網路上使用標準 Git 訓練資源,來了解和實作這些模型和策略。

如需 DevOps 最佳實務 AWS,請參閱 AWS Well-Architected 中的DevOps指南。當您檢閱本指南時,請使用盡職調查來為您的組織選擇正確的分支策略。有些策略可能比其他策略更符合您的使用案例。

目標

本指南是文件系列的一部分,內容是為具有多個的組織選擇和實作 DevOps分支策略 AWS 帳戶。此系列旨在協助您從一開始就採用最符合您的需求、目標和最佳實務的策略,以簡化 中的體驗 AWS 雲端。本指南不包含可執行指令碼,因為它們會根據組織使用的持續整合和持續交付 DevOps (CI/CD) 引擎和技術架構而有所不同。

本指南說明三種常見 Git 分支策略之間的差異: GitHub Flow、Gitflow 和 Trunk。本指南中的建議可協助團隊識別與其組織目標一致的分支策略。檢閱本指南後,您應該能夠為您的組織選擇分支策略。選擇策略後,您可以使用下列其中一種模式,協助您與開發團隊實作該策略:

請務必注意,適用於某個組織、團隊或專案的事項可能不適合其他組織、團隊或專案。Git 分支策略之間的選擇取決於各種因素,例如團隊規模、專案需求,以及協作、整合頻率和發行管理之間的所需平衡。

使用 CI/CD 實務

AWS 建議您實作持續整合和持續交付 (CI/CD), which is the process of automating the software release lifecycle. It automates much or all of the manual DevOps processes that are traditionally required to get new code from development into production. A CI/CD pipeline encompasses the sandbox, development, testing, staging, and production environments. In each environment, the CI/CD pipeline provisions any infrastructure that is needed to deploy or test the code. By using CI/CD, development teams can make changes to code that are then automatically tested and deployed. CI/CD管道也為開發團隊提供控管和護欄。它們會強制執行一致性、標準、最佳實務和最低接受度,以接受和部署功能。如需詳細資訊,請參閱在 上實作持續整合和持續交付 AWS

本指南中討論的所有分支策略都非常適合為開發團隊CI/CD practices. The complexity of the CI/CD pipeline increases with the complexity of the branching strategy. For example, Gitflow is the most complex branching strategy discussed in this guide. CI/CD pipelines for this strategy require more steps (such as for compliance reasons), and they must support multiple, simultaneous production releases. Using CI/CD also becomes more important as the complexity of the branching strategy increases. This is because CI/CD建立護欄和機制,以防止開發人員有意或無意地規避定義的程序。

AWS 提供一套開發人員服務,旨在協助您建置 CI/CD 管道。例如, AWS CodePipeline 是一種全受管持續交付服務,可協助您自動化發行管道,以取得快速可靠的應用程式和基礎設施更新。 AWS CodeBuild會編譯原始程式碼、執行測試,並產生 ready-to-deploy軟體套件。如需詳細資訊,請參閱 上的開發人員工具 AWS