【问题标题】:How to deploy several codeBuild projects with CloudFormation in CodePipeline如何在 CodePipeline 中使用 CloudFormation 部署多个 codeBuild 项目
【发布时间】:2020-10-05 21:49:18
【问题描述】:

为了清楚地了解我的 codePipeline 步骤,我决定创建几个具有不同构建规范文件的 codeBuild 项目。

我面临一个问题,需要为每个 codeBuild 项目指定要使用的构建规范文件。定义cloudformation模板部署codeBuild项目时,需要在CODEPIPELINE上设置AWS::CodeBuild::ProjectSource属性;所以我不确定在哪里可以指定不同的路径。

目前,我的结构是这样的:

  • 代码管道文件
    • 部署步骤 1.1 > 部署定义代码构建项目的 cloudformation 模板
    • 构建步骤 1.2 > 启动 codebuild 项目
    • ...> 使用以前部署的东西的其他一些步骤
    • 部署步骤 2.1 > 部署另一个 cloudformation 模板,其中定义了不同的代码构建项目
    • 构建步骤 2.2 > 启动新定义的代码构建项目
  • cloudFormation 文件与第一个 codebuild 项目
  • 带有第二个代码构建项目的 cloudFormation 文件
  • 构建规范 1
  • 构建规范 2

知道在哪里定义路径吗?

提前非常感谢, 乔尔

【问题讨论】:

  • 您能否告诉我们您在管道中使用哪个来源
  • @sumanthshetty 我正在使用 github
  • 尝试将 buildspec.yml 添加到您的源代码(github)中
  • @sumanthshetty - 我已经在下面添加了解决方案;实际上只需要将构建规范文件名添加到 codebuild 项目 cloudformation 模板内的 Source 属性

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


【解决方案1】:

解决方案实际上是在Source 对象内部定义BuildSpec 属性(见下文)。我不认为这是可能的,因为提到代码管道作为来源,我们无法提供任何其他细节。

因此,在定义 AWS::CodeBuild::Project 的 cloudformation 模板中,除了代码管道源类型之外,只需添加要使用的构建规范文件的名称即可:

Source:
  Type: CODEPIPELINE
   BuildSpec: "my_custom_filename.yml"

【讨论】:

    猜你喜欢
    • 2018-02-18
    • 2020-08-23
    • 2017-07-14
    • 1970-01-01
    • 1970-01-01
    • 2019-02-07
    • 1970-01-01
    • 2022-01-23
    • 2019-01-07
    相关资源
    最近更新 更多