CodeBuild 托管的 GitHub Actions 运行器支持的标签覆盖
在 GitHub Actions 工作流 YAML 中,您可以提供各种标签覆盖来修改您的自托管运行器构建。系统会忽略 CodeBuild 未识别的任何构建,但不会使 webhook 请求失败。例如,以下工作流程 YAML 包括映像、实例大小、实例集和 buildspec 的覆盖:
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 Actions 工作流 YAML 的必需项。
<project name>应等于为其配置了自托管运行器 webhook 的项目的名称。
image:<environment-type>-<image-identifier>
示例:
image:arm-3.0-
覆盖在通过精选映像启动自托管运行程序构建时使用的映像和环境类型。要了解支持的值,请参阅CodeBuild 托管的 GitHub Actions 运行器支持的映像。
要覆盖与自定义映像结合使用的映像和环境类型,请使用
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 Actions 运行器支持的映像。
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 构建,您可以排除映像标识符。