지난 게시글
https://megamaker.tistory.com/426
[Jenkins] 1. Jenkins 설치 및 초기 설정하기
Jenkins는 어플리케이션의 테스트, 빌드, 배포의 과정을 자동화할 수 있게 해주는 도구입니다.그동안 프로젝트를 진행하면서 매번 직접 VM에 접속하고 직접 어플리케이션을 배포하는 과정이 번거
megamaker.tistory.com
지난 게시글에서는 젠킨스 설치를 진행했습니다. 개인 프로젝트를 docker 환경에서 실행시키려고 했는데 아무래도 오라클에서 제공하는 프리티어 VM의 성능이 좋지 않기 때문에 docker 컨테이너에서 젠킨스를 실행시키는 것이 아닌 직접 설치 환경으로 변경했습니다.
젠킨스 설정


Freestyle 또는 Pipeline 중 하나를 선택합니다. 아직 어떤 방식으로 빌드, 배포할지는 정하지 않았기 때문에 일단 아무거나 선택합니다.
간단히 Freestyle은 UI를 통해 각 스텝 작업을 클릭을 통해 쉽게 작성할 수 있는 방식이고,
Pipeline은 선언형 또는 코드형 Jenkinsfile 작성을 통해 코드 기반으로 작업을 수행하는 방식입니다.


GitHub project url을 설정합니다.
Triggers에서 GitHub hook trigger for GITScm polling을 체크합니다.
Item 설정에서는 이 정도 설정만 하면 됩니다.
저는 기존에 미리 세팅을 다 해놓아서 오류가 안 뜨지만 GitHub 내 저장소에 제대로 접근할 수 없을 때 아래쪽에 빨간색 글씨로 오류가 뜨는 경우가 있습니다.
오타나 설정을 잘못했을 때 발생하지만 정확히 작성했음에도 불구하고 해당 문제가 발생한다면 VM 환경에 Git 설치가 되어 있지 않을 확률이 높습니다.
Git 설치를 진행하고 젠킨스에서 Git 설정을 안 했다면 Jenkins 관리 - Tools에서 Git installations를 설정합니다.

Install automatically로 자동으로 설치되게 할 수도 있습니다.
저는 기존에 Git을 직접 설치했기 때문에 체크 해제했습니다.
그리고 아마 기본으로 설치되어 있을테지만 GitHub 플러그인이 설치되어 있는지 확인합니다.

GitHub 설정
이제 GitHub에서 특정 브랜치에 머지가 되었을 때 젠킨스에게 알릴 수 있도록 Webhooks 설정을 해보겠습니다.

내 저장소에서 Settings - Webhooks로 접근합니다.
기존에 만들어 둔 것이 있는 것을 볼 수 있습니다. 제대로 작동한다면 위 화면과 같이 체크 표시가 뜨게 됩니다.
처음에는 아무것도 없을테니 위 Add webhook 버튼을 눌러 새 웹훅을 생성합니다.

Payload URL에는 젠킨스가 설치되어 있는 곳을 작성합니다. path의 경우 /github-webhook/으로 설정했는데 이는 GitHub 플러그인을 사용하고 있기 때문에 그대로 따라줍니다. 관련 내용은 아래 GitHub 플러그인 페이지에서 확인할 수 있습니다.
https://plugins.jenkins.io/github/
GitHub
This plugin integrates <a href="http://github.com/" target="_blank" rel="noreferrer noopener nofollow">GitHub</a> to Jenkins.
plugins.jenkins.io

Secret은 요청 시 필요하다면 작성하고 필수는 아니기에 작성하지 않아도 됩니다.
따로 추가로 설정할 것이 없다면 그대로 Add webhook 버튼을 클릭합니다.
생성 후에 웹훅 리스트 페이지에 접속하면 체크 표시가 아닌 다른 미확인 표시가 뜨는 것을 확인할 수 있는데 이 회색 표시가 계속 지속된다면 무언가 잘못된 것입니다. 입력된 정보를 다시 확인하고 Edit - Recent Deliveries에서 Redeliver 버튼을 클릭해서 다시 ping 확인 요청을 보내도록 합니다.


초록색 체크 표시까지 확인했다면 대부분의 설정은 마쳤습니다.
추가적으로 젠킨스에서 특정 브랜치에 변화가 있을 때 작동하도록 할 수도 있지만 그것은 다음 게시글에서 선언형 Pipeline 작성을 할 때 알아보겠습니다.
'공부 > 기타' 카테고리의 다른 글
| [Jenkins] 로그 깨짐 문제 수정 (0) | 2026.01.07 |
|---|---|
| [Jenkins] 1. 젠킨스(Jenkins) 설치 및 초기 설정하기 (0) | 2025.10.25 |
| [Spring Session Data Redis] 세션 ID로 직접 세션 정보 가져오기 (근데 이제 뭔가 깨지는...) (0) | 2025.08.15 |
| [HTTPS] 하나의 IP에서 여러 도메인 HTTPS 처리하기 (0) | 2024.11.18 |
| [Git] 잔디 안 심어지는 문제 해결하기 (0) | 2024.10.09 |