本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
以编程方式设置 Buildkite 运行程序
为了以编程方式配置 Buildkite 运行程序项目,您将需要配置以下资源:
以编程方式创建 Buildkite 运行程序
-
创建 Buildkite 代理令牌并将该令牌以纯文本形式保存在 Amazon Secrets Manager中。
-
使用您的首选配置设置 CodeBuild 项目。您需要配置以下额外的属性:
-
一个环境值,其名称为
CODEBUILD_CONFIG_BUILDKITE_AGENT_TOKEN、类型为SECRETS_MANAGER,而值等于与 Buildkite 集群关联的 Buildkite 代理令牌。 -
等于
NO_SOURCE的源类型 -
以项目的服务角色访问在步骤 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> -
-
在步骤 2 中创建的项目上创建 Buildkite 运行程序 webhook。创建 webhook 时,您需要使用以下配置选项:
-
build-type 应等于
RUNNER_BUILDKITE_BUILD -
类型为
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 -
-
保存由
create-webhook调用返回的有效载荷 URL 和密钥值,然后使用凭证在 Buildkite 控制台中创建 webhook。您可以参考中的步骤 3:在 Buildkite 中创建 CodeBuild webhook,以教程:配置 CodeBuild托管的 Buildkite 运行器获取有关如何设置此资源的指南。