티스토리 뷰
깃에 프로젝트가 존재하고 서버에 젠킨스가 설치되고 셋팅되어 있다는 전제하에 진행하도록 하겠습니다.
설정해보니 아래와 같은 진행순서를 가지면 될 것 같네요.
- Jenkins - Github 연결 설정
- Github Webhook 설정
- 서버 방화벽 설정
1. Jenkins - Github 연결
밑에 내려가보면 GitHub Server 설정하는 항목이 보입니다.
Credentials 밑에 +Add 를 선택하면 인증정보를 기입할 수 있습니다.
인증방식을 Secret Text 로 선택하고 사용하던 Personal access tokens를 입력해줍니다.
저는 Jenkins hook 용 토큰을 새로 만들어보겠습니다.
repo와 admin:repo_hook 정도의 권한만 할당하여 생성했습니다.
그럼 이제 젠킨스에 git과 통신하는 hook URL이 설정되었습니다. (default 값)
http://localhost:port/github-webhook/
2. Github webhook 설정
깃 프로젝트 settings에 가면
Payload URL 에 젠킨스 서버 IP:포트 또는 도메인 입력해주시면 됩니다.
그러면 깃에서 이제 테스팅을 진행하는데 저는 처음에 아래와 같은 오류가 났습니다.
host 와 커넥션 오류나서 깃 쪽에서 젠킨스 서버로 인바운드가 안될 것 같다는 생각에
방화벽에 깃 hook ip 리스트를 등록해줬습니다.
아래에 접속하시면 깃 관련 IP 리스트가 나오는데
저는 그중 hook ip 리스트만 방화벽에 등록했습니다.
"hooks": [
"192.30.252.0/22",
"185.199.108.0/22",
"140.82.112.0/20",
"143.55.64.0/20",
"2a0a:a440::/29",
"2606:50c0::/32"
]
그리고 다시 Redeliver 버튼을 클릭하여 재연결 하였더니
잘 연결 성공된 것을 확인하였습니다.
이제 깃 프로젝트 main 브런치 push 를 통해 자동 빌드배포가 되는지 확인해 보면 됩니다!
젠킨스 프로젝트 아이템 구성할때 깃 프로젝트랑 깃 레포지토리 연결 해주시고
빌드 유발에서 아래와 같이 hook 에 체크를 해주면
push 하면 젠킨스가 알아서 빌드를 실행하는 것을 볼 수 있습니다.
'DevOps > Jenkins' 카테고리의 다른 글
[Jenkins] 젠킨스, java 21 로 업그레이드 하기. (java 11 종료에 따른) (1) | 2024.09.12 |
---|---|
[Jenkins] 레거시 업데이트 실패, 복구 및 Job 이관하기 (3) | 2024.03.19 |
[Jenkins] 젠킨스 버전 업데이트하기 (feat.rockylinux) (0) | 2024.01.30 |
[Jenkins] 리눅스에 젠킨스 설치하기. (feat.rockylinux) (0) | 2023.08.29 |
[Jenkins] git 연동 배포 오류 해결.. does not contain a Gradle build (1) | 2023.03.10 |