CodeBuild托管的操作运行器支持的 GitHub 标签覆盖 - AWS CodeBuild

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

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>

instance-size:<instance-size>

fleet:<fleet-name>

buildspec-override:<boolean>

  • 示例:buildspec-override:true

  • 如果设置为 true,则允许构建以在 INSTALLPRE_BUILDPOST_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 构建,您可以排除映像标识符。