

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 以程式設計方式設定 Buildkite 執行器
<a name="sample-runner-buildkite-CLI"></a>

若要以程式設計方式設定 Buildkite 執行器專案，您需要設定下列資源：

**以程式設計方式建立 Buildkite 執行器**

1. 建立 Buildkite 代理程式字符，並在 中以純文字儲存字符 AWS Secrets Manager。

1. 使用您偏好的組態設定 CodeBuild 專案。您需要設定下列其他屬性：

   1. 名稱為 的環境值`CODEBUILD_CONFIG_BUILDKITE_AGENT_TOKEN`，類型為 `SECRETS_MANAGER`，值等於與 Buildkite 叢集相關聯的 Buildkite 代理程式字符。

   1. 來源類型等於 `NO_SOURCE`

   1. 存取專案服務角色中步驟 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>}}
   ```

1. 在步驟 2 中建立的專案上建立 Buildkite 執行器 Webhook。建立 Webhook 時，您將需要使用下列組態選項：

   1. **build-type** 應等於 `RUNNER_BUILDKITE_BUILD`

   1. 類型為 `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
   ```

1. 儲存`create-webhook`呼叫傳回的**承載 URL** 和**秘密**值，並使用登入資料在 Buildkite 主控台中建立 Webhook。您可以在 中參考步驟 3：在 Buildkite 中建立 CodeBuild Webhook，[教學課程：設定 CodeBuild 託管的 Buildkite 執行器](sample-runner-buildkite.md)以取得如何設定此資源的指南。