

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

# 关于 CodeBuild托管的 GitHub 操作运行器
<a name="action-runner-questions"></a>

以下是有关 CodeBuild托管 GitHub 操作运行器的一些常见问题。

## 我应该何时在标签中包括映像和实例覆盖？
<a name="action-runner-image-label"></a>

您可以在标签中包含图像和实例覆盖，以便为每个 Actions 工作流程任务指定不同的构建环境。 GitHub 无需创建多个 CodeBuild 项目或 webhook 即可完成此操作。例如，当您需要[为工作流作业使用矩阵](https://docs.github.com/en/actions/using-jobs/using-a-matrix-for-your-jobs)时，这很有用。

```
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 }}
    strategy:
      matrix:
        include:
          - os: arm-3.0
            size: small
          - os: linux-5.0
            size: large
    steps:
      - run: echo "Hello World!"
```

**注意**  
如果`runs-on`有多个包含 GitHub 操作上下文的标签，则可能需要使用引号。

## 我可以 CloudFormation 用这个功能吗？
<a name="action-runner-cfn"></a>

是的，您可以在 CloudFormation 模板中包含一个筛选器组，用于在项目 webhook 中指定 GitHub操作工作流程作业事件过滤器。

```
Triggers:
  Webhook: true
  FilterGroups:
    - - Type: EVENT
        Pattern: WORKFLOW_JOB_QUEUED
```

有关更多信息，请参阅 [筛选 GitHub webhook 事件 ()CloudFormation](github-webhook-events-cfn.md)。

如果您在 CloudFormation 模板中设置项目凭证时需要帮助，请参阅*AWS CloudFormation 用户指南[AWS::CodeBuild::SourceCredential](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-sourcecredential.html)*中的了解更多信息。

## 使用此特征时如何屏蔽密钥？
<a name="action-runner-secrets"></a>

默认情况下，系统不会屏蔽日志中显示的密钥。如果您想屏蔽密钥，可以使用以下语法：`::add-mask::value`。以下是如何在 YAML 中使用此语法的示例：

```
name: Secret Job
on: [push]
jobs:
  Secret-Job:
    runs-on: codebuild-myProject-${{ github.run_id }}-${{ github.run_attempt }}
    env:
      SECRET_NAME: "secret-name"
    steps:
      - run: echo "::add-mask::$SECRET_NAME"
```

有关更多信息，请参阅[屏蔽登录 GitHub中的值](https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#masking-a-value-in-a-log)。

## 我能否在一个项目中接收 GitHub 来自多个存储库的 Actions webhook 事件？
<a name="action-runner-webhooks"></a>

CodeBuild 支持组织和全局级 webhook，它们接收来自指定组织或企业的事件。有关更多信息，请参阅 [GitHub 全球和组织 webhook](github-global-organization-webhook.md)。

## 哪些区域支持使用 CodeBuild托管的 GitHub 操作运行器？
<a name="action-runner-hosted-regions"></a>

CodeBuild所有 CodeBuild 区域都支持托管的 GitHub 操作运行器。有关 AWS 区域 何处 CodeBuild 可用的更多信息，请参阅[按地区划分的AWS 服务](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/)。

## 哪些平台支持使用 CodeBuild托管的 GitHub 操作运行器？
<a name="action-runner-platform"></a>

CodeBuildAmazon EC2 和[AWS Lambda](lambda.md)计算均支持托管的 GitHub 操作运行器。您可以使用以下平台：Amazon Linux 2、Amazon Linux 2023、Ubuntu 和 Windows Server Core 2019。有关更多信息，请参阅[EC2 计算映像](ec2-compute-images.md)和[Lambda 计算映像](lambda-compute-images.md)。