#CodePipelineについて
・複数のCodeBuildを使用
・buldspec.ymlが置いてあるリポジトリとアプリのソースが別
・特定のリポジトリのコミットIDをCodePipelineに組み込んだ各CodeBuildで変数として利用したい
→CodePipelineのソース取得ステージでアクションを増やし、アクションプロバイダにGitHubを指定することで複数のソースを取得するように設定できる。
この時変数の名前空間を設定しておく。
今回はSecondSourceVariables。
CodePipeline上の各CodeBuild設定部分で環境変数を指定
(CodeBuildで設定するのではなくCodePipelineで設定)
Key: COMMIT_ID(任意)
Value: #{SecondSourceVariables.CommitId} ##{変数の名前空間.CommitId}
#gitのコミットIDについて
「.git/refs/heads」のブランチの中に格納されている
CodeBuild上でソースリポジトリ2つの場合下記で行ける模様。
CODEBUILD_SRC_DIR"_APP"はソース識別子。
- HEAD_VALUE=$(cat ${CODEBUILD_SRC_DIR_APP}/.git/HEAD)
- echo ${HEAD_VALUE}
- IMAGE_TAG=$(echo ${HEAD_VALUE} | head -c 7)