CodeBuildでGithubのコミット番号を取得しようとしてもできなかった


現象

連携しているgithubリポジトリのコミット番号を取得したいが失敗してしまう。

[Container] 2020/12/21 08:39:46 Running command IMAGE_TAG=$(git rev-parse --short HEAD)
fatal: not a git repository (or any parent up to mount point /codebuild)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).

[Container] 2020/12/21 08:39:46 Command did not exit successfully IMAGE_TAG=$(git rev-parse --short HEAD) exit status 128
[Container] 2020/12/21 08:39:46 Phase complete: PRE_BUILD State: FAILED
[Container] 2020/12/21 08:39:46 Phase context status code: COMMAND_EXECUTION_ERROR Message: Error while executing command: IMAGE_TAG=$(git rev-parse --short HEAD). Reason: exit status 128

解決

CodeBuildにはデフォルトで環境変数が用意してあった。
SourceのコミットIDを利用したい場合は、CODEBUILD_RESOLVED_SOURCE_VERSIONを使えばOK!
用意されている環境変数一覧