如何与共享开发基础设施共享 cloudformation 或 cdk?

How to share cloudformation or cdk with shared development infrastructure?

我在这里问了有关如何使用 CDK 以经济高效的方式编写代码的问题。

但问题已关闭[此处不接受与定价或服务成本相关的问题]。

https://whosebug.com/users/405555/ellivenyhttps://whosebug.com/users/174777/john-rotenstein

建议我为开发人员共享一个帐户,我做到了。

但现在我的团队表示,如果他们创建 2 个单独的分支并进行部署,他们就会覆盖彼此在 AWS 上的工作。

  1. 开发人员 A 从 develop 创建分支 A
  2. 开发者 B 从 develop 创建分支 B
  3. 开发人员 A 开发 API (appsync + lambda)
  4. 开发人员 b 开发 API (appsync + lambda)
  5. 开发人员A部署分支A
  6. 开发人员 B 部署分支 B

并且在aws developer A上的作品被覆盖了。只保留开发人员 B 的工作。

我的问题:

  1. 这就是 aws cloudformation 的工作原理吗?还是我们的团队做错了什么?
  2. 如果是,它在什么级别覆盖?例如,如果它是堆栈级别,我们可以制定 [2 developer chan't change same cdk stack same time] 规则

取决于他们在分支中使用的递归类型。如果资源是区域性的,例如 lambda 和 API 网关,那么他们可以将他们的分支部署到 不同的区域 。 CloudFormation 是区域性的,因此它们不会相互冲突。

但理想情况下,开发人员 A 和 B 应该有他们自己的 沙盒帐户 用于测试和开发,以实现最大程度的分离。一旦他们的分支机构被合并到 master(或同等),那么您,并且只有您,将这些更改部署到专用的 test/development 帐户以进行进一步测试。