我可以部署一个CFN堆栈作为管道的一部分,但是如何部署多个动态堆栈呢?
更好的选择;你会怎么做?forEach BuildStage.artifact调用CloudFormation.build
我正以一种非常传统的方式使用CodePipeline。目标是源代码管理我的CloudFormation模板,在模板更改时将它们推送到管道中,然后自动部署堆栈。
源阶段(CodeCommit提交我的CFN yaml模板)
构建阶段(CodeBuild从提交中找到新文件,并将它们推送到S3)
部署阶段(CloudFormation将我的模板部署为CFN堆栈)
几乎所有的事情都很好。我将我的模板更改提交到CodeCommit,构建阶段运行我的codeBuild网关管理员,它只收集已更改的文件的,并将它们上传到S3。到目前一切尚好。
挑战是,有时我有一个模板更改,有时我有多个(N)。在我的构建阶段,我可以检测到已更改的文件,并将它们放到S3上,没有问题。如果我为一个模板提交了一个更改,那么一切都很好。我可以在S3上创建一个带有模板位置的导出变量,将其传递到我的部署阶段,并让CloudFormation部署操作使用该文件作为模板源。但是如果我有两个模板,我该如何处理呢?
我的想法是,我需要做以下工作之一:
在我当前构建规范中的
。
这两种选择似乎完全违背了部署阶段的目的,而在我看来,部署阶段似乎很笨拙。
我还有其他选择吗?你怎么做?
发布于 2022-02-07 01:56:57
我只想回答我自己的问题,以防其他人想办法解决这个问题。
最后,我选择了选项1...just,直接在CodeBuild中进行CFN部署。我确实是在试图支持使用CodePipeline部署阶段的想法,但这是很好的。
如果其他人最终提出了更好的解决方案,我会全神贯注地倾听。
https://stackoverflow.com/questions/71001123
复制相似问题