본문 바로가기
Dev/DevOps

gitea - jenkins webhook

by TrendPilot 2025. 2. 24.

사용자가 수동 개입 없이 자동으로 CI/CD 파이프라인을 구축하여, 빌드, 테스트, 배포하는 과정을 실행하기 위해 소스 코드 관리 시스템(gitea)과 jenkins 를 webhook 으로 연동하여 코드를 push 하거나 merge 할 때 자동으로 Jenkins 파이프라인이 트리거 되는 것을 목표로 합니다.

 

Jenkins plugin 설치

Dashborad > Jenkins 관리 > Plugins 선택

 

Available Plugins 에서 gitea 설치

 

설치 중 과 설치 완료 되었을 때 화면입니다.

gitea 설치와 마찬가지로 Multibranch Scan Webhook Trigger 도 함께 설치해 줍니다.


git 애플리케이션 토큰 발급

프로필 아이콘의 설정 선택

어플리케이션의 토큰을 생성해 줍니다.

토큰을 생성해 주면 다시 확인할 수 없으므로 복사하여 유실하지 않도록 합니다.

 


Jenkins 의 Credentials 추가

Jenkins 관리의 Credentials 선택

(global) 이름에 마우스를 올리면 드롭박스가 보이는데, 드롭박스 내 Add credentials 선택

Kind 를 Gitea Personal Access Token 으로 변경

위 순서대로 진행한 토큰 입력 후 Create 로 생성합니다.

생성 확인


Gitea Server Add

Jenkins 관리 > System

스크롤 다운으로 내리다 보면 Gitea Server 항목이 있습니다. Gitea Server 선택

Gitea Server 정보 기입 후 Save

Server Url 에 gitea 주소 기입하고, Manage hooks 에 이전에 생성해 두었던 Credentials 추가합니다.


Jenkins 프로젝트 생성

새로운 Item

Multibranch Pipleline 선택 후 OK 로 생성합니다.

Branch Source 설정에서 Add source -> Gitea 선택

owner 는 gitea 의 저장소 소유자를 작성해 줍니다.

저장소 소유자를 정상적으로 입력 시 자동으로 레포지토리를 보여줍니다.

소유자 잘 못 입력했을 때
소유자 정상 입력했을 때

Discover branches 제외한 나머지 Behaviours 삭제 후 Filter by name (with regular expression) 추가 해줍니다.

추가한 옵션에 레포지토리의 브랜치 이름을 입력해 줍니다.


Scan Multibranch Pipeline Triggers 을 설정해줍니다.

이 후 Save 버튼으로 생성 시작합니다.

 

 

Jenkinsfile 을 찾을 수 없다는 메시지 확인 후 VSC 에서 해당 프로젝트에 Jenkinsfile 을 생성 후 저장소에 push 해줍니다.

 

진행 중인 Jenkins 화면 새로고침 하여 정상 확인합니다.

Gitea 저장소 Webhook 생성

Webhook 대상 URL 정보 기입 후 Webhook 추가 

http://{젠킨스주소}/multibranch-webhook-trigger/invoke?token={Scan by webhook값}

token 값은 상단 Scan Multibranch Pipeline Triggers 값 지정 시 입력한 Trigger token 값 과 같습니다.

webhook 테스트

테스트 진행을 위해 webhook 연결한 디렉터리에 test.py 생성 후 레포지토리에 파일 push

commit -m 로 입력한 add test.py 를 확인할 수 있습니다.

 

감사합니다.

'Dev > DevOps' 카테고리의 다른 글

ArgoCD  (0) 2025.02.26
helm으로 gitea, jenkins 설치  (0) 2025.02.26
gitea  (0) 2025.02.24
Jenkins  (1) 2025.02.24
Prometheus & Grafana  (0) 2025.02.19