【问题标题】:How can my CodeBuild in a CodePipeline resolve resources created by the previous CloudFormation step?CodePipeline 中的 CodeBuild 如何解析上一个 CloudFormation 步骤创建的资源?
【发布时间】:2019-01-07 11:53:05
【问题描述】:

我的 CodePipeline 设置如下:

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

也许我创建管道错误?

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      也许在第 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'
      )
      

      【讨论】:

        猜你喜欢
        • 2018-03-01
        • 2019-07-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-09-30
        • 1970-01-01
        • 2020-01-22
        • 1970-01-01
        相关资源
        最近更新 更多