附录:示例 ADR - AWS 规范性指导

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

附录:示例 ADR

标题

该决策定义了 ABC 应用程序开发的软件开发生命周期方法。

状态

已接受

日期

2022-03-11

上下文

ABC 应用程序是一个打包的解决方案,它通过部署包部署到客户的环境中。我们需要一个开发流程,使我们能够拥有可控的功能、修补程序和发布管道。

决策

我们使用改编版的 GitFlow 工作流程来开发 ABC 应用程序。

GitFlow 工作流程,适用于 ABC 示例应用程序

为简单起见,我们不使用 hotfix/*release/* 分支,因为 ABC 应用程序将被打包,而不是部署到特定环境中。因此,没有必要增加复杂性,以免妨碍我们快速做出反应,修复生产版本中的错误,或在单独的环境中测试版本。

以下是约定的分支策略:

  • 每个存储库必须有一个受保护的 main 分支,用于标记发布版本。

  • 每个存储库必须有一个受保护的 develop 分支,用于所有正在进行的开发工作。

结果

有利:

  • 改编后的 GitFlow 流程使我们能够控制 ABC 应用程序的发布版本。

不利:

  • GitFlow 比基于中继的开发或 GitHub 流程更复杂,而且开销更大。

合规性

  • 每个存储库中的 maindevelop 分支必须标记为 Protected

  • maindevelop 分支的更改必须使用合并请求来传播。

  • 每个合并请求至少需要一次批准。

备注

  • 作者:Jane Doe

  • 版本:0.1

  • 更改日志:

    • 0.1:初始提议版本