

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 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 ランナーウェブフックを作成します。ウェブフックを作成するときは、次の設定オプションを使用する必要があります。

   1. **build-type** は `RUNNER_BUILDKITE_BUILD` と等しくなければなりません

   1. タイプが `EVENT` でパターンが `WORKFLOW_JOB_QUEUED` に等しいフィルター 

   例えば、CLI で次のコマンドを使用して有効な Buildkite ランナーウェブフックを作成できます。

   ```
   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 コンソール内にウェブフックを作成します。このリソースのセットアップ方法については、「[チュートリアル: CodeBuild がホストする Buildkite ランナーを設定](sample-runner-buildkite.md)」の「ステップ 3: Buildkite 内で CodeBuild ウェブフックを作成する」を参照してください。