为网站生成配置文件的脚本依赖于CDK资源



当您需要生成依赖于CDK值/参数的脚本时,最优雅的处理方式是什么?

我有以下场景:

  • 所有结构都在同一堆栈
  • Script A依赖于CDK Stack中的Construct A来部署Website A
  • 网站A必须在构建BCD之前才能部署
  • 网站A依赖于脚本A

我是否被迫将堆栈拆分为堆栈A和B,即使我只需要一个构造来创建脚本?

有什么自动的方法来做这件事吗?或者我需要站起来堆栈A,手动运行配置脚本,然后建立网站,然后站起来堆栈B

使用CodePipeline。这正是CodePipeline的作用,来协调这些大量的东西。

Pipeline:部署堆栈,其中定义了cfn.Output,以输出您需要的值(api,秘密名称,等等)

Pipeline在下一步中将这些变量和用户定义的参数移动到lambda中,这将构建您的配置文件并将其放入s3或其他文件系统中,以便您的站点随后访问。

然后,您可以使用Codebuild来构建和部署您的网站,或者放置手动审批步骤来暂停管道,让您执行部署该网站所需的任何其他操作,然后批准管道以继续移动到堆栈b。

或者,如果你不必因为某种原因将它们分开,那么你可以使用dependsOnhttps://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib-readme.html#construct-dependencies格式将其直接传递给正在构建你的网站的任何结构,假设它都是在CDK中完成的。这样做的问题是,在部署之前,这些只是出现的令牌表示-因此,如果有一些微妙的时间或依赖关系变得过于混乱,最好使用CodePipeline

最新更新