CodeBuildでブランチ名を取得する


概要

  • AWS CodeBuildでどのブランチをビルドしているのか取得したい

やりかた

CodeBuildのWebHookでGitHubのプルリクをトリガーにしている場合、ビルド環境変数 $CODEBUILD_WEBHOOK_BASE_REF を用いることでマージ先のブランチを取得できます。

このとき、git branch の形式ではなく、 git symbolic-ref HEAD の形式で取得されるので、testなどで切り分けるときは注意が必要です。

buildspec.yml
version: 0.2
phases:
  pre_build:
    commands:
      # Git Branch を取得
      # 
      - >
        if [ "$CODEBUILD_WEBHOOK_BASE_REF" = "refs/heads/main" ];then
          DEPLOY_ENV="prd"
        else
          DEPLOY_ENV="stg"
        fi

参考

Git - Gitの参照

ビルド環境の環境変数 - AWS CodeBuild