CodePipeline中的CodeBuild如何解决上一个CloudFormation步骤创建的资源?

时间:2018-07-31 07:07:49

标签: amazon-web-services amazon-cloudformation aws-codepipeline

我已经将我的CodePipeline设置为:

  1. 来源:Github
  2. CodeBuild:打包SAM应用程序(如DB的CloudFormation资源)
  3. 部署CloudFormation:是否创建并执行变更集
  4. CodeBuild:我想为CloudFormation创建的数据库运行数据库迁移...但是如何获取... CodeBuild不支持管道中的参数

也许我在创建管道错误?

2 个答案:

答案 0 :(得分:1)

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

现在,我将在构建脚本内的CLI中调用aws cloudformation describe-stacks,以从CloudFormation堆栈中检索数据库信息。

答案 1 :(得分:0)

也许在步骤3中。您可以通过以下方式设置cloudformation:

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'
)