以编程方式设置 Buildkite 运行程序 - Amazon CodeBuild
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

以编程方式设置 Buildkite 运行程序

为了以编程方式配置 Buildkite 运行程序项目,您将需要配置以下资源:

以编程方式创建 Buildkite 运行程序
  1. 创建 Buildkite 代理令牌并将该令牌以纯文本形式保存在 Amazon Secrets Manager中。

  2. 使用您的首选配置设置 CodeBuild 项目。您需要配置以下额外的属性:

    1. 一个环境值,其名称为 CODEBUILD_CONFIG_BUILDKITE_AGENT_TOKEN、类型为 SECRETS_MANAGER,而值等于与 Buildkite 集群关联的 Buildkite 代理令牌。

    2. 等于 NO_SOURCE 的源类型

    3. 以项目的服务角色访问在步骤 1 中创建的密钥的权限

    例如,您可以通过 CLI 使用以下命令创建有效的 Buildkite 运行程序项目:

    aws codebuild create-project \ --name buildkite-runner-project \ --source "{\"type\": \"NO_SOURCE\",\"buildspec\":\"\"}" \ --environment "{\"image\":\"aws/codebuild/amazonlinux-x86_64-standard:5.0\",\"type\":\"LINUX_CONTAINER\",\"computeType\":\"BUILD_GENERAL1_MEDIUM\",\"environmentVariables\":[{\"name\":\"CODEBUILD_CONFIG_BUILDKITE_AGENT_TOKEN\",\"type\":\"SECRETS_MANAGER\",\"value\":\"<buildkite-secret-name>\"}]}" \ --artifacts "{\"type\": \"NO_ARTIFACTS\"}" \ --service-role <service-role>
  3. 在步骤 2 中创建的项目上创建 Buildkite 运行程序 webhook。创建 webhook 时,您需要使用以下配置选项:

    1. build-type 应等于 RUNNER_BUILDKITE_BUILD

    2. 类型为 EVENT 且模式等于 WORKFLOW_JOB_QUEUED 的筛选条件

    例如,您可以通过 CLI 使用以下命令创建有效的 Buildkite 运行程序 webhook:

    aws codebuild create-webhook \ --project-name buildkite-runner-project \ --filter-groups "[[{\"type\":\"EVENT\",\"pattern\":\"WORKFLOW_JOB_QUEUED\"}]]" \ --build-type RUNNER_BUILDKITE_BUILD
  4. 保存由 create-webhook 调用返回的有效载荷 URL密钥值,然后使用凭证在 Buildkite 控制台中创建 webhook。您可以参考中的步骤 3:在 Buildkite 中创建 CodeBuild webhook,以教程:配置 CodeBuild托管的 Buildkite 运行器获取有关如何设置此资源的指南。