本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
CodeBuild托管的操作运行器支持的 GitHub 标签覆盖
在你的 A GitHub ctions 工作流程 YAML 中,你可以提供各种标签覆盖来修改你的自托管运行器构建。任何未被识别的版本都 CodeBuild 将被忽略,但不会使您的 webhook 请求失败。例如,以下工作流程 YAML 包括对图像、实例大小、队列和构建规范的替换:
name: Hello World on: [push] jobs: Hello-World-Job: runs-on: - codebuild-myProject-${{ github.run_id }}-${{ github.run_attempt }} - image:${{ matrix.os }} - instance-size:${{ matrix.size }} - fleet:myFleet - buildspec-override:true strategy: matrix: include: - os: arm-3.0 size: small - os: linux-5.0 size: large steps: - run: echo "Hello World!"
注意
如果您的工作流程任务处于暂停 GitHub状态,请参阅排查 webhook 的问题和使用自定义标签路由作业
codebuild-
(必需)<project-name>
-${{github.run_id}}-${{github.run_attempt}}
示例:
codebuild-fake-project-${{ github.run_id }}-${{ github.run_attempt }}
-
所有 GitHub 操作工作流程均为必填项 YAMLs。
<project name>
应等于为其配置自托管运行器 webhook 的项目的名称。
image:
<environment-type>
-<image-identifier>
示例:
image:arm-3.0
-
覆盖使用精选映像启动自托管运行器构建时使用的映像和环境类型。要了解支持的值,请参阅计算 CodeBuild托管的 GitHub 操作运行器支持的图像。
要覆盖与自定义图像一起使用的图像和环境类型,请使用
image:custom-
<environment-type>
-<custom-image-identifier>
示例:
image:custom-arm-public.ecr.aws/codebuild/amazonlinux-aarch64-standard:3.0
注意
如果自定义映像位于私有注册表中,请参阅为自托管运行器配置私有注册表凭据。
instance-size:
<instance-size>
示例:
instance-size:medium
-
覆盖在启动自托管运行器构建时使用的实例类型。要了解支持的值,请参阅计算 CodeBuild托管的 GitHub 操作运行器支持的图像。
fleet:
<fleet-name>
示例:
fleet:myFleet
-
覆盖在您的项目中配置的实例集设置,以便使用指定的实例集。有关更多信息,请参阅 在预留容量实例集上运行构建。
buildspec-override:
<boolean>
示例:
buildspec-override:true
-
如果设置为
true
,则允许构建以在INSTALL
、PRE_BUILD
和POST_BUILD
阶段运行 buildspec 命令。
单个标签覆盖(旧版)
CodeBuild 允许您使用以下方法在单个标签中提供多个覆盖:
-
要替换 Amazon EC2 /Lambda 计算版本的环境设置,请使用以下语法:
runs-on: codebuild-
<project-name>
-${{ github.run_id }}-${{ github.run_attempt }}-<environment-type>
-<image-identifier>
-<instance-size>
-
要替换 Amazon EC2 计算版本的队列设置,请使用以下语法:
runs-on: codebuild-
<project-name>
-${{ github.run_id }}-${{ github.run_attempt }}-fleet-<fleet-name>
-
要同时覆盖构建所用的实例集和映像,请使用以下语法:
runs-on: codebuild-
<project-name>
-${{ github.run_id }}-${{ github.run_attempt }}-image
-<image-version>
-fleet-<fleet-name>
-
要在构建期间运行 buildspec 命令,可以将
-with-buildspec
作为后缀添加到标签中:runs-on: codebuild-
<project-name>
-${{ github.run_id }}-${{ github.run_attempt }}-<image>
-<image-version>
-<instance-size>
-with-buildspec -
或者,您也可以提供实例大小覆盖,而不覆盖映像。对于 Amazon EC2 版本,您可以同时排除环境类型和图像标识符。对于 Lambda 构建,您可以排除映像标识符。