CodeBuild에서 GitHub 리포지토리의 메타 데이터 (브랜치, 태그 등)를 얻는 방법

해결하고 싶은 것



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 의 실행 결과가 나와 있으므로 메타데이터의 취득이 되어 있는 것을 확인할 수 있었습니다. 그리고는 끓여서 구워져 어쨌든.



참고


  • 공식 튜토리얼
  • GitHub 권한 추가/CodeBuild에서 gitclone을 허용하는 권한 부여 설정
  • 좋은 웹페이지 즐겨찾기