본문 바로가기
CSP (Cloud Service Provider)/AWS

CodeBuild - empty git-upload-pack given for primary source and source version refs/heads/develop

by HemMu 2024. 6. 13.

갑자기 개발 팀에서 갑자기 배포가 안된다는 내용을 전달 받고 확인해보니 CodeBuild에서  에러를 자꾸 뱉고 있는 걸 확인했다.

 

잘 돌아가던 CodeBuild에서 특별히 설정한 것도 없는데, 문제가 생겨 모든 환경의 애플리케이션 배포가 실패하고 있단다.

 

문제를 해결하려면 로그부터 확인해보자

 

아래와 같은 메세지가 나오면서 배포가 되지 않고 있었다.

# 로그 발생 메세지
[Container] YYYY/MM/DD HH:mm Running on CodeBuild On-demand
[Container] ...502885 Waiting for agent ping
[Container] ..804890 Waiting for DOWNLOAD_SOURCE
empty git-upload-pack given for primary source and source version refs/heads/develop
empty git-upload-pack given for primary source and source version refs/heads/develop

 

CodeCommit을 사용 중이었는데, 위 에러가 CodeCommit의 git tag 수가 20,000개가 초과하는 경우 해당 문제가 발생하는 것을 확인했다.

git ls-remote --tags origin | wc -l
40200

 

git tag가 무려 4만 개가 넘어가고 있었다. 어떻게 버티고 있던걸까,,

일단 tag를 좀 지워주는데, 원격 저장소에서 아래처럼 모든 태그 삭제를 해버리면 좋겠지만?

git tag -l | xargs -n 1 git push --delete origin

 

commit에 열심히 기록하고 있던 걸 다 지울 수는 없으니까 골라서 지우도록 하자.

태그 목록 확인

git tag -l 

 

로컬 저장소에서는 아래 명령어로 지우고

git tag -d <tagname>

 

원격 저장소라면 아래 명령어로 특정 태그를 삭제할 수 있다.

git push origin --delete <tagname>

 

그런데 태그 이름이 고정이 아닌 특정 패턴이 있을 수 도 있겠다. 그럴 땐 특정 패턴을 걸어 태그를 삭제 하자.

# release-1.0.0
# release-2.0.1
# release-2.0.2
git tag -l 'release-*' | xargs -n 1 git push --delete origin

 

댓글