我在CodePipeline中的CodeBuild如何解析上一个CloudFormation步骤创建的资源



我已经设置了我的CodePipeline,类似于:

  1. 来源:Github
  2. CodeBuild:打包SAM应用程序(CloudFormation资源,如DB(
  3. 部署CloudFormation:创建;执行变更集
  4. CodeBuild:我想为CloudFormation创建的数据库运行数据库迁移。。。但我该怎么做。。。CodeBuild不支持我的管道中的参数

也许我创建的管道错误了?

CloudFormation操作可以输出堆栈参数,但目前CodePipeline中的CodeBuild操作不能同时接受代码工件和具有CloudFormation输出的工件。

目前,我会在构建脚本中调用CLI中的aws-cloudformation-descripte堆栈,以从cloudformation堆栈中检索DB信息。

可能在步骤3中。你这样设置你的云形成:

1-创建数据库。。。将数据库的名称导出为输出

Outputs:
DataBaseName:
Description: "Name of the Database"
Value: !Ref DataBaseName

2-在代码构建中,使用Boto3和Describe Stacks并获得输出(数据库的名称和其他信息(,现在您可以在代码构建过程中利用Python并开始使用Boto3进行迁移。

response = client.describe_stacks(
StackName='string',
NextToken='string'
)

最新更新