INSTALL、PRE_BUILD、POST_BUILD フェーズで buildspec コマンドを実行 - AWS CodeBuild

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 ジョブは手動でキャンセルする必要があります。