关于 CodeBuild 托管的 GitHub Actions 运行器 - AWS CodeBuild

关于 CodeBuild 托管的 GitHub Actions 运行器

以下是关于 CodeBuild 托管的 GitHub Actions 运行器的一些常见问题。

我应该何时在标签中包括映像和实例覆盖?

您可以在标签中包括映像和实例覆盖,以便为每个 GitHub Actions 工作流作业指定不同的构建环境。无需创建多个 CodeBuild 项目或 webhook 即可完成此操作。例如,当您需要为工作流作业使用矩阵时,这很有用。

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 Actions 上下文的标签,则可能需要使用引号。

我可以为此特征使用 CloudFormation 吗?

是的,您可以在 CloudFormation 模板中包括一个筛选条件组,用于在项目 webhook 中指定 GitHub Actions 工作流作业事件筛选器。

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

有关更多信息,请参阅 筛选 GitHub Webhook 事件 (CloudFormation)

如果您在 CloudFormation 模板中设置项目凭证时需要帮助,请参阅《AWS CloudFormation 用户指南》中的 AWS::CodeBuild::SourceCredential 以了解更多信息。

使用此特征时如何屏蔽密钥?

默认情况下,系统不会屏蔽日志中显示的密钥。如果您想屏蔽密钥,可以使用以下语法:::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 上的在日志中屏蔽值

我能否从一个项目中的多个存储库检索 GitHub Actions webhook 事件?

CodeBuild 支持组织级和全局级 webhook,这些 webhook 从指定组织或企业接收事件。有关更多信息,请参阅 GitHub 全局和组织 webhook

哪些区域支持使用 CodeBuild 托管的 GitHub Actions 运行器?

所有 CodeBuild 区域都支持 CodeBuild 托管的 GitHub Actions 运行器。有关 CodeBuild 可用的 AWS 区域 的信息,请参阅按区域划分的 AWS 服务

哪些平台支持使用 CodeBuild 托管的 GitHub Actions 运行器?

Amazon EC2 和 AWS Lambda 计算支持 CodeBuild 托管的 GitHub Actions 运行器。您可以使用以下平台:Amazon Linux 2、Amazon Linux 2023、Ubuntu 和 Windows Server Core 2019。有关更多信息,请参阅EC2 计算映像Lambda 计算映像