附錄:ADR 範例 - AWS 規定指引

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

附錄:ADR 範例

標題

此決定定義了 ABC 應用程式開發的軟體開發生命週期方法。

狀態

已接受

日期

2022-03-11

Context

ABC 應用程式是封裝解決方案,將使用部署套件部署至客戶的環境。我們需要有一個開發流程,讓我們擁有可控制的功能、修補程序和發行管道。

決策

我們使用 GitFlow 工作流程的改編版本來開發 ABC 應用程式。


      GitFlow 工作流程,適用於 ABC 範例應用程式

為了簡單起見,我們不會使用 hotfix/*release/* 分支,因為 ABC 應用程式將封裝而不是部署至特定環境。因此,不需要額外的複雜性,因為這可能會阻止我們快速做出反應來修正生產版本中的錯誤,或在單獨的環境中測試版本。

以下是協議的分支策略:

  • 每個儲存庫都必須具有一個受保護的 main 分支,用於標記版本。

  • 每個儲存庫都必須具有一個受保護的 develop 分支,用於所有正在進行的開發工作。

結果

正數:

  • 改編的 GitFlow 程序可讓我們控制 ABC 應用程式的發行版本。

負數:

  • GitFlow 比主幹型開發或 GitHub 流程更複雜,額外負荷更大。

合規

  • 每個儲存庫中的 maindevelop 分支必須標記為 Protected

  • maindevelop 分支的變更必須使用合併請求進行傳播。

  • 每個合併請求至少需要一次核准。

備註

  • 作者:Jane Doe

  • 版本:0.1

  • Changelog:

    • 0.1:初始提議版本