CDK 为工件的 CI CD 管道使用预先存在的存储桶

CDK Use pre-existing bucket for CI CD Pipeline for Artifacts

在 CDK 中创建管道时,它会为工件创建新的存储桶。有什么方法可以为每个管道使用预先存在的存储桶吗?

我最近遇到了同样的问题,并将我的 CDK 应用程序拆分为多个堆栈。有一个 example AWS 提供,但他们对接口等所做的事情可能有点矫枉过正。

我找到的一个很好的解决方案是将我的应用程序分成 2 个堆栈:一个用于 S3 存储桶,一个用于其他所有内容。这样我的回购协议中就有 2 个脚本,一个为 S3 堆栈执行 cdk deploy,一个为另一个堆栈执行 cdk deploy(对于除 S3 存储桶之外的所有其他资源)。

另一件好事是,在 CDK 中,如果您想在代码中使用 S3 构造,您现在只需将它传递到 S3 堆栈中的存储桶(即,无需更改太多代码,只需参考它)所以它仍然在同一个应用程序中说,只是有一个单独的部署。