pubilc 저장소의 경우
1. 깃허브 Repository => setting => Webhooks => Add webhook => PayLoad URL에 ngrok로 생성한 IP를 적는다.
https:// [ip]/github-webhook/ 추가 => add webhooks
2. 이전에 젠킨스에서 프로젝트 생성하면서 Git Repository에 url을 잘 추가해주었다면 이제 커밋을 하면 신호가 젠킨스에 날라간다.
3. 내용을 수정하고 커밋을 진행하고 Webhooks를 확인해보면 Response가 200인 것(잘 보냈음)을 확인 할 수 있다.
젠킨스에 잘 도착했는지 확인하고 싶으면 꼭 Configuration에 GitHub hook trigger를 체크해주는 것을 잊지 말자.
4. 다시 커밋내용을 푸시하면 젠킨스에 Giihub Hook Log가 생성되었고 언제, 어디서부터 접근했는지 로그를 확인할 수 있다.
5. 커밋한 내용이 운영서버에서도 변경이 잘 되었는지 쉘에서 확인해보도록 하자.
Private 저장소의 경우
1. 1번까지는 Pubilc과 똑같다.
2. Setting => Developer settings => Personal access tokens => Generate new token => 키를 생성 => repo 체크 => 생성
3. Git Repository URL을 추가할 때 키를 추가 =>https://키@주소
4. GitHub hook trigger를 체크 후 저장
특정 리파지터리만 젠킨스에 접근 허용하는 경우
공개키, 비밀키를 생성한다. 공개키로 암호화 한 것은 비밀키가 복호화가 가능하고 비밀키로 복호화 한 것은 공개키로 암호화가 가능하다. 비밀키를 젠킨스에 삽입하고 공개키는 깃허브 레파지토리에 삽입한다.
공개키를 가진 쪽에선 비밀키를 가진 쪽으로 들어올 순 없다. 하지만 비밀키에서 공개키는 가능하다.
rsa 키 pair를 생성하고, 젠킨스에 비밀키, 깃허브에 공개키 세팅을 해야한다.
1. 키 생성
- docker exec -it jenkins_1 bash -c "ssh-keygen -t rsa -b 4096" (엔터 3번)
2. 비밀키 확인
- docker exec jenkins_1 cat /root/.ssh/id_rsa
3. 공개키 확인
- docker exec jenkins_1 cat /root/.ssh/id_rsa.pub
4. 젠킨스 비밀키 등록
- 젠킨스 관리 => Manage Credentials => grobal Domains => Add Credentials => kind는 SSH username => Enter directly에 비밀키 넣기 => Creat
5. 깃허브 공개키 등록
- project settings => Deploy keys => add key => 공개키 넣기
'IT' 카테고리의 다른 글
젠킨스(jenkins)로 스프링부트 자동화 2(도커, DB 설치, 빌드) (0) | 2022.09.21 |
---|---|
젠킨스(jenkins)로 스프링부트 자동화 1(jenkins에서 jdk-17설치) (1) | 2022.09.21 |
젠킨스(jenkins) 2(ngrok 설치 및 실행) (0) | 2022.09.21 |
젠킨스(jenkins) 1(개요 및 설치) (1) | 2022.09.21 |
도커라이즈 (MariaDB 이미지, docker compose, NginX Proxy Manager) (0) | 2022.09.20 |