如何在 SAM 项目中使用 codepipeline?

How to work with codepipeline in SAM project?

我有一个 SAM 项目来部署我的应用程序,我使用 sam buildsam deploy

部署这个堆栈

我最近向模板添加了代码管道(及其所有资源)。问题是当我部署应用程序时,代码管道创建了另一个堆栈。

有没有办法只保留 1 个堆栈?

如果不是,我必须将它们作为嵌套堆栈或不同堆栈分开吗?

TLDR; Adding CodePipeline to a SAM app 需要额外的 CloudPipeline 堆栈。

Codepipeline 堆栈独立于“应用程序堆栈”。这种松耦合很有用:

  1. 可以通过 sam deploy 手动部署应用程序进行测试,同时使用管道进行生产。
  2. 可以使用 pipeline stages
  3. 将应用克隆到多个区域或帐户
  4. 可以在管道中添加花哨的测试或批准 actions,而无需触及应用代码

(似乎此设置还有助于 AWS 避免棘手的先有鸡还是先有蛋的依赖性问题,即在应用程序资源上部署之前必须 bootstrap 管道。)