我已经设置了我的CodePipeline,类似于:
- 来源:Github
- CodeBuild:打包SAM应用程序(CloudFormation资源,如DB(
- 部署CloudFormation:创建;执行变更集
- 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'
)