首页 > 解决方案 > 通过 Jenkins 在存储库中部署多个 cloudformation 堆栈的 Jenkins 管道策略应该是什么?

问题描述

我有一个包含多个文件夹的 Git 存储库。每个文件夹都有多个 cloudformation 堆栈。我想在整个存储库上执行 CI/CD,以便只构建那些对其进行了提交的堆栈。我的管道和分支策略应该是什么?我可以为每个堆栈设置一个管道作业吗?如何在包含多个堆栈的分支上仅构建基于提交的特定堆栈?

标签: gitamazon-web-servicesjenkinsjenkins-pipelineamazon-cloudformation

解决方案


有很多不同的方法可以做到这一点;不幸的答案是“做对你有用的事”;特别是关于您的管道和分支策略。

您可以为每个堆栈创建一个管道,也可以一个管道来部署所有内容。如果您使用一个管道来部署所有内容,CloudFormation 的一个重要部分是,如果模板没有更改,CloudFormation 将不会做任何事情。因此,如果提交只更新您正在部署的 X 中的一个堆栈,则只有一个堆栈应该在 AWS 中更新,因为您提交的更新模板与它们在 AWS 中的存在方式之间会有一些比较,并决定是否或不根据任何差异进行更新。


推荐阅读