Amazon web services AWS Cloudformation模板的版本控制和发布

Amazon web services AWS Cloudformation模板的版本控制和发布,amazon-web-services,version-control,amazon-cloudformation,versioning,Amazon Web Services,Version Control,Amazon Cloudformation,Versioning,我们正在AWS ElasticBeanstalk上托管一个Java/Spring webapp,并使用多个CloudFormation模板(按逻辑区域分组)将其与整个基础设施(EB、SQS、SES、API GW、CFront、S3、Cognito…列表还有更多)一起部署 关于如何在版本控制方面简化构建/发布过程,我无法听到我的声音。当Java开发人员构建新版本(如v1.2.3)时,我如何确保一个或多个cfn堆栈中的CloudFormation更改是一致的,并且依赖的cfn更改将“遵循”相应的Ja

我们正在AWS ElasticBeanstalk上托管一个Java/Spring webapp,并使用多个CloudFormation模板(按逻辑区域分组)将其与整个基础设施(EB、SQS、SES、API GW、CFront、S3、Cognito…列表还有更多)一起部署

关于如何在版本控制方面简化构建/发布过程,我无法听到我的声音。当Java开发人员构建新版本(如v1.2.3)时,我如何确保一个或多个cfn堆栈中的CloudFormation更改是一致的,并且依赖的cfn更改将“遵循”相应的Java代码版本。或者从另一个角度看,我如何判断在特定环境中部署了哪个版本,以及是否部署了所有cfn更改?我知道这是一个相当模糊的问题列表,但我希望存在一些依赖项/版本管理框架,类似于python中的maven或requirements.txt


我尝试应用AWS标记来显示AWS上部署的特定堆栈的“版本”,但我忍不住认为这都是假的。到目前为止,我在这里找不到任何最佳实践博客、文章或答案。有什么想法吗?

CloudFormation中AWS标签的一个问题是,如果不重建整个EB环境,我无法应用ElasticBeanstalk资源。例如,如果EB系统属性发生更改,并且我想在AWS标记中增加版本号,我必须拆除堆栈/资源并重新构建。这是一个问题,如果我们有依赖堆栈…不知道以某种方式使用codepipleline部署cloudfomraiton是否有用。是的,基于Codepipeline的CICD解决方案在我们的交付“管道”中,但必须执行与我现在手动执行的相同步骤。或者代码管道是否提供了任何版本控制?我不知道有什么。。。