解決したいこと
CodeBuildからGithubのタグを取得して、CodeArtifactのタグに流用したいと思ったのでやってみました。前提としてCodePipelineでCI/CDを構成することとします。
解決方法
CodePipelineのソースステージでGitHub(バージョン2)を選択すると「完全クローン」を選択することができる。このオプションを選択すると内部的にgitリポジトリのクローンを作成するので、コミット履歴やメタデータを取り込めるようになります。
手順
CodePipelineのソースステージの設定でGitHub(バージョン2)を選択
すると出力アーティファクト形式に「完全クローン」の項目が出るので選択。
これを選択するとロールにcloneを許可するロールを作成する必要があるので合わせてこちらを実施。
あとは適当に動作確認ができるようにCodeBuildに設定を追加。
version: 0.2
env:
git-credential-helper: yes
phases:
install:
runtime-versions:
nodejs: 10
pre_build:
commands:
- ls -lt
build:
commands:
- git status
- git describe --all
git describe --allの実行結果が出ているのでメタデータの取得ができているのが確認できました。あとは煮るなり焼くなり何なりと。