我正在一个具有现有的基于 Cloudformation 的管道的环境中工作。我想知道是否可以在 CDK 中描述我的基础架构,然后生成 Cloudformation 以用于管道,而不对管道进行任何更改。我希望我使用 CDK 的事实是完全透明的。
我一般不建议在CDK的输出中使用 cdk synth
通过CloudFormation,除了你很清楚自己在做什么。
这里是原因。在一些边缘情况下,CDK会提前进行引导和资产发布,例如对于所谓的 资产来源 docker镜像、s3文件等)。
这个话题与GitHub上CDK仓库中询问CICD集成的问题有一些重叠。[1]
目前正在为CDK开发一个全自动的CICD流程[2]。所谓的 云集 3]包含了通过CloudFormation部署所需的所有资源,但正如RFC所指出的那样,云组件包含了每个堆栈和资产源(docker镜像、s3文件等)的CloudFormation模板。
云组件包括每个堆栈的CloudFormation模板和资产源(docker镜像、s3文件等),这些资源包括 必须包装出版 到使用它们的每个环境中的资产存储中。
如果您没有使用任何资产或可以选择在使用 CloudFormation 之前对其进行打包和部署,则使用 cdk合成器 当提供正确的 CFN 参数时,应该可以在 CloudFormation 中进行输出(正如其他人已经在本主题中指出的那样)。
[1] https:/github.comawsaws-cdkissues6894。 [2] https:/github.comawsaws-cdk-rfcsblobmastertext0049-continuous-delivery.md。 [3] https:/github.comawsaws-cdkblobmasterpackages@aws-cdkcloud-assembly-schemaREADME.md
是的,这是可能的。我有一个使用CDK来 "构建 "CloudFormation模板的流程,该流程使用 cdk synth
. 然后将该模板上传到版本路径上的 S3 bucket 中。
然后,您可以使用以下方法从桶中部署 CloudFormation 模板。--template-url
选择权 create-stack
.
https:/docs.aws.amazon.comclilatestreferencecloudformationcreat-stack.html。