如何在 CodePipeline 中使用 CloudFormation 部署多个 codeBuild 项目
How to deploy several codeBuild projects with CloudFormation in CodePipeline
为了清楚地了解我的 codePipeline 步骤,我决定有几个具有不同构建规范文件的 codeBuild 项目。
我遇到了一个问题,需要为每个 codeBuild 项目指定要使用的构建规范文件。在定义cloudformation模板部署codeBuild项目时,需要将AWS::CodeBuild::Project
的Source
属性设置在CODEPIPELINE
上;所以我不确定在哪里可以指定不同的路径。
目前我的结构是这样的:
- 代码管道文件
- 部署步骤 1.1 > 部署一个定义了 codebuild 项目的 cloudformation 模板
- 构建步骤 1.2 > 启动代码构建项目
- ...> 其他一些使用之前部署的东西的步骤
- 部署步骤 2.1 > 部署另一个 cloudformation 模板,其中定义了不同的代码构建项目
- 构建步骤 2.2 > 启动新定义的代码构建项目
- 带有第一个代码构建项目的 cloudFormation 文件
- 带有第二个代码构建项目的 cloudFormation 文件
- 构建规范 1
- 构建规范 2
知道在哪里定义路径吗?
非常感谢,
乔尔
解决办法其实就是在Source
对象里面定义BuildSpec
属性(见下文)。我不认为这是可能的,因为我认为通过提及代码管道作为来源,我们无法提供任何其他细节。
因此,在定义 AWS::CodeBuild::Project
的 cloudformation 模板中,除了代码管道源类型之外,只需添加要使用的构建规范文件的名称:
Source:
Type: CODEPIPELINE
BuildSpec: "my_custom_filename.yml"
为了清楚地了解我的 codePipeline 步骤,我决定有几个具有不同构建规范文件的 codeBuild 项目。
我遇到了一个问题,需要为每个 codeBuild 项目指定要使用的构建规范文件。在定义cloudformation模板部署codeBuild项目时,需要将AWS::CodeBuild::Project
的Source
属性设置在CODEPIPELINE
上;所以我不确定在哪里可以指定不同的路径。
目前我的结构是这样的:
- 代码管道文件
- 部署步骤 1.1 > 部署一个定义了 codebuild 项目的 cloudformation 模板
- 构建步骤 1.2 > 启动代码构建项目
- ...> 其他一些使用之前部署的东西的步骤
- 部署步骤 2.1 > 部署另一个 cloudformation 模板,其中定义了不同的代码构建项目
- 构建步骤 2.2 > 启动新定义的代码构建项目
- 带有第一个代码构建项目的 cloudFormation 文件
- 带有第二个代码构建项目的 cloudFormation 文件
- 构建规范 1
- 构建规范 2
知道在哪里定义路径吗?
非常感谢, 乔尔
解决办法其实就是在Source
对象里面定义BuildSpec
属性(见下文)。我不认为这是可能的,因为我认为通过提及代码管道作为来源,我们无法提供任何其他细节。
因此,在定义 AWS::CodeBuild::Project
的 cloudformation 模板中,除了代码管道源类型之外,只需添加要使用的构建规范文件的名称:
Source:
Type: CODEPIPELINE
BuildSpec: "my_custom_filename.yml"