젠킨스(Jenkins)에서 리포지토리의 웹훅을 설정하는 방법은 무엇인가요?
_____A: 젠킨스에서 리포지토리의 웹훅을 설정하는 방법은 다음과 같습니다.
1. 젠킨스에서 젠킨스 URL 확인
- 젠킨스 서버가 외부에서 접근 가능한지 확인하세요.
- 기본적으로 `http://<젠킨스서버주소>:8080/` 형태이며, 인증이 필요한 경우 토큰 또는 크리덴셜 확인이 필요합니다.
2. 젠킨스에 Git 플러그인 설치 및 활성화
- 젠킨스 관리 > 플러그인 관리에서 "Git Plugin"이 설치되어 있는지 확인합니다.
- 설치되어 있지 않으면 설치 후 젠킨스를 재시작합니다.
3. 젠킨스 Job(파이프라인) 생성 또는 구성
- "새로운 아이템"에서 Freestyle 프로젝트 또는 Pipeline을 생성합니다.
- 소스코드 관리 부분에 Git 리포지토리 URL을 입력하고 인증 정보를 등록합니다.
4. 빌드 트리거 설정에서 ‘GitHub hook trigger for GITScm polling’ 활성화
- Freestyle 프로젝트의 경우:
- 빌드 트리거(Build Triggers)에서 "GitHub hook trigger for GITScm polling" 체크박스를 선택.
- Pipeline 프로젝트의 경우 일부 플러그인을 통해 Webhook 트리거를 활성화합니다.
- 원하는 저장소의 설정(Settings) > Webhooks 메뉴로 이동합니다.
- 새 웹훅 추가(Add webhook)를 클릭합니다.
- Payload URL 또는 웹훅 URL에 젠킨스의 GitHub webhook URL을 입력합니다.
- 보통: `http://<젠킨스서버주소>:8080/github-webhook/`
(GitHub용, GitLab의 경우 별도의 플러그인 및 URL 필요)
- Content type은 `application/json`으로 설정합니다.
- 이벤트는 "Push events" 또는 필요한 이벤트를 선택합니다.
- 웹훅을 저장합니다.
6. 젠킨스에서 웹훅 이벤트 테스트
- Git 리포지토리에서 커밋을 하고 푸시(push)합니다.
- 젠킨스가 자동으로 빌드를 트리거하는지 확인합니다.
- 문제가 있을 경우, 젠킨스 시스템 로그 또는 웹훅 페이로드 전달 로그를 확인해 원인을 파악합니다.
7. 추가 팁
- 젠킨스가 외부에서 접근할 수 없으면 ngrok 같은 터널링 서비스로 임시 연결하거나, 인트라넷 내에서 연동해야 합니다.
- 보안을 위해 젠킨스 API 토큰과 비밀번호를 안전하게 관리하고, 필요시 웹훅 secret을 설정해 검증할 수 있습니다.
- GitLab, Bitbucket 등 다른 플랫폼은 각각의 젠킨스 플러그인(GitLab Plugin 등)과 URL 형식이 다르므로 해당 플러그인 문서를 참고하세요.
요약하면, 젠킨스 내에서 Git 관련 빌드 트리거를 활성화하고, 리포지토리 설정에서 젠킨스의 웹훅 URL을 등록하는 과정을 통해 자동 빌드 트리거가 가능해집니다.
이 예시는 GitHub를 기준으로 설명하겠지만, 다른 VCS(버전 관리 시스템)에서도 유사한 과정을 따릅니다.
1. Jenkins에서 프로젝트 생성 1. Jenkins에 로그인합니다.
2. 대시보드에서 "새 아이템"을 클릭합니다.
3. 프로젝트 이름을 입력하고, "프리 스타일 프로젝트" 또는 "파이프라인" 등을 선택 후 "확인"을 클릭합니다.
2. 리포지토리 설정 1. 프로젝트 구성 페이지로 이동합니다.
2. "소스 코드 관리" 섹션에서 "Git"을 선택합니다.
3. 리포지토리 URL을 입력하고 필요한 자격증명을 설정합니다.
3. 빌드 트리거 설정 1. "빌드 트리거" 섹션으로 이동합니다.
2. "GitHub hook trigger for GITScm polling"을 선택합니다.
이는 GitHub 웹훅이 Jenkins를 자동으로 트리거 하도록 합니다.
4. GitHub 리포지토리에 웹훅 추가 1. GitHub에서 해당 리포지토리로 이동합니다.
2. "Settings" 탭으로 이동합니다.
3. 왼쪽 메뉴에서 "Webhooks"를 클릭합니다.
4. "Add webhook" 버튼을 클릭합니다.
5. *Payload URL*을 입력합니다.
Jenkins의 URL 다음에 `/github-webhook/`를 추가합니다.
예: `http://your.jenkins.server/github-webhook/`
6. "Content type"을 `application/json`으로 설정합니다.
7. "Which events would you like to trigger this webhook?"에서 "Just the push event."를 선택합니다.
8. 마지막으로 "Add webhook" 버튼을 클릭합니다.
5. 테스트 및 확인 1. GitHub 리포지토리에서 코드를 푸시합니다.
2. Jenkins 대시보드로 돌아가서 해당 프로젝트를 열고 "빌드 히스토리"에서 최근 빌드가 실행되었는지 확인합니다.
주의사항 - Jenkins와 GitHub 사이의 통신이 원활하게 이루어지려면 Jenkins 서버가 외부에서 접근할 수 있어야 합니다.
방화벽이나 네트워크 설정을 확인해야 할 수 있습니다.
- 인증과 보안을 위해 Jenkins의 API Token이나 비밀번호를 사용하여 GitHub와의 연결을 설정해야 할 수 있습니다.
위의 과정을 통해 Jenkins에서 리포지토리의 웹훅을 성공적으로 설정하고 이를 통해 코드 변경 시 자동으로 빌드를 트리거할 수 있습니다.
작성자:
정유정 [비회원]
| 작성일자: 1년 전
2025-03-22 15:11:04
조회수: 169 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
조회수: 169 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.