레포지토리에 푸시할 수 있는 항목과 푸시할 수 없는 항목을 더 효과적으로 제어하게 만들어주는 기능
- 프로젝트에 Reject unsigned commits 푸시 규칙을 활성화 시, 인증키가 없으면 push된 commit은 거부되는 기능
- [Project] – [Settings] – [Repository] – [Push rules]
- [Reject unsigned commits] 활성화
GPG key 생성 명령어
gpg --full-gen-key
GPG key 아이디 조회 명령어
gpg --list-secret-keys --keyid-format LONG <EMAIL>
ex) kubectl set image deployment/www-tomcat-deployment-df2 -n www www-tomcat=of3cuz21.private-ncr.gov-ntruss.com/wwwp-tomcat:2023.9.18
Public GPG Key 조회 명령어
gpg --armor --export <GPG키 아이디>
GPG Public key 등록
- [Preferences] -> [GPG Keys] -> [Add new key] -> Key에 붙여넣은 후, Add key 클릭
커밋 시 gpg키 자동 인증하도록 설정
git config --global commit.gpgsign true
git config --global user.signingkey <GPG키 아이디>
GPG Key 등록 확인
gpg --status-fd=2 -bsau <GPG키 아이디>
유저 설정 및 확인
git config --global user.email "GPG키를 등록한 깃랩 유저 이메일"
git config --global user.name "GPG키를 등록한 깃랩 유저 이름“
git config --get-all user.email
git config --get-all user.name
소스 수정 후 반영(프로젝트 경로 내에서 명령 실행)
git remote add origin <프로젝트 주소>
git branch -M <브랜치명>
git branch -va # 현재 브런치, 나머지 브렌치 모두 확인
git add .
git commit -S -m "커밋 메시지"
git push -uf origin
GPG Public key 수동인증
export GPG_TTY=$(tty)
echo <원하는 내용> | gpg -e -r <GPG키 아이디> | gpg -d
GPG Key 인증 후, 커밋&푸쉬