INSTALL、PRE_BUILD、POST_BUILD フェーズで buildspec コマンドを実行
デフォルトでは、CodeBuild はセルフホスト型 Buildkite ランナービルドを実行するときに buildspec コマンドを無視します。ビルド中に buildspec コマンドを実行するには、
buildspec-override: "true"
を、ラベルのサフィックスとして追加します。
agents: project: "codebuild-<project name>" buildspec-override: "true"
このコマンドを使用すると、CodeBuild はコンテナのプライマリソースフォルダに buildkite-runner というフォルダを作成します。Buildkite ランナーが BUILD フェーズ中に起動すると、ランナーはその buildkite-runner ディレクトリで実行されます。
セルフホスト型 Buildkite ビルドで buildspec の上書きを使用する場合、いくつかの制限があります。
-
Buildkite エージェントでは、ジョブのソースリポジトリをプルするために、ソース認証情報がビルド環境内に存在する必要があります。認証に CodeBuild ソース認証情報を使用する場合は、buildspec で
git-credential-helperを有効にする必要があります。例えば、次の buildspec を使用して Buildkite ビルドでgit-credential-helperを有効にできます。version: 0.2 env: git-credential-helper: yes phases: pre_build: commands: - echo "Hello World" -
CodeBuild は、セルフホスト型ランナーが
BUILDフェーズで実行されるため、BUILDフェーズ中は buildspec コマンドを実行しません。 -
CodeBuild は、Buildkite ランナービルドの buildspec ファイルをサポートしていません。Buildlkite セルフホスト型ランナーでは、インライン buildspec のみがサポートされます
-
ビルドコマンドが
PRE_BUILDまたはINSTALLフェーズで失敗した場合、CodeBuild はセルフホスト型ランナーを起動せず、Buildkite ジョブは手動でキャンセルする必要があります。