보통 Commit Message에 Change-id 가 없어도 Gerrit 에 커밋을 업로드시 자동으로 생성해주지만, 커밋 메세지에 Change-id 가 없으면 Gerrit 에 올리지 못하도록 설정할 수도 있다.
Change-Id 는 Gerrit 이 변경사항을 구분하는 고유 식별값이다(Commit Id와는 다르다).
Browse - Repositories 클릭 -> All-Projects 클릭 (특정 Projecdt 만 적용할 수 도 있다.)
Repository Options 에서 Require Change-Id in commit message 를 False에서 True로 설정.
설정 후 Commit message 에 change-Id가 없는 상태로 Push 하면 아래와 같은 에러가 발생한다.
ERROR: missing Change-Id in message footer
[remote rejected] HEAD -> refs/for/master (commit : missing Change-Id in message footer)
이럴 경우, Message에 change-id 자동생성하는 hook 을 설치해야 하는데, Hint 에 나오는 명령어 두개를 순차적으로 입력 후 다시 Gerrit에 push 하면 해결 된다.
$gitdir=$(git rev-parse --git-dir); scp -p -P <PORT> <GERRIT>:hooks/commit-msg ${gitdir}/hooks/
$git commit --amend --no-edit
$git push origin HEAD:refs/for/master
'Hello World > DevOps' 카테고리의 다른 글
SW 버전 관리를 위한 몇가지 방안 (Versioning strategy) (0) | 2023.06.10 |
---|---|
Golang application 에 prometheus 및 custom metric 적용하기 (0) | 2022.08.30 |
Jenkins Pipeline 따라하기 (1) (2) | 2020.12.23 |
댓글