본문 바로가기
DevOps/Jenkins

[Jenkins] GIT과 연동하여 푸시 후 자동 배포 설정 - Type 2(gitea, webhooks)

by 오이가지아빠 2023. 2. 16.

[DevOps/Jenkins] - [Jenkins] GIT과 연동하여 푸시 후 자동 배포 설정 - Type 1(gitea, webhooks)

 

앞선 글에서 Git Push 트리거 발동 시 자동으로 젠킨스 빌드가 되도록 설정하는 방법을 알아보았습니다.

 

이번에는 위 방법에서 조금 변형하여 사용자 Token을 발급하여 자동 빌드하는 방법으로 설명하겠습니다.

 

#1. 젠킨스 설정

이번에는 기본적인 git 이외에 별도의 플러그인을 설치하지 않고 진행해도 무방합니다.

플러그인이 제공하는 API(~/gitea-webhook/post)가 아닌, 젠킨스가 제공하는 API를 사용해서 트리거를 호출하는 방법입니다.

 

먼저 빌드에 사용할 사용자 계정(해당 빌드를 수행할 권한이 있어야 합니다.)으로 로그인하여 설정 > API Token 항목으로 이동하여 Add new Token 버튼을 클릭하여 신규 토큰을 생성합니다.

생성할 토큰의 이름을 넣은 후, Generate 하게 되면 토큰이 생성되는데, 이 토큰 키는 API설정시 사용하게 되므로 반드시 이 화면에서 복사하여 가지고 있어야 합니다.(화면 이동 후에는 다시 확인할 수 없습니다.)

 

#2. Pipeline Job 설정

Type 1에서 체크하여 사용했던 Poll SCM 옵션은 이제 꺼줍니다. 대신, 빌드를 원격으로 유발 항목에 체크한 후,

아까 생성했던 토큰 이름을 이 곳에 입력합니다.

젠킨스 Job 설정은 이것으로 끝입니다.

 

#3. Gitea Webhooks 설정

이제 Gitea 서버에 접속해서 Webhook을 추가합니다.

해당 Repository > 설정 > 웹훅 > Webhook 추가 > Gitea 클릭

 

대상 URL은 아래의 형식으로 작성합니다.

http://실행UserID:토큰키@젠킨스URL/job/젠킨스Job이름/build?token=토큰이름

(아래 이미지를 참고하여 작성하도록 합니다.)

Http Method는 POST, Content Type은 application/json

비밀(Secret)칸은 공백, 트리거는 상황에 맞추어서 푸시 혹은 PR로 선택하면 되는데, 일단 푸시 이벤트가 발생했을 때 동작하도록 설정한 후 Webhook을 추가합니다.

 

#4. Push 후 자동 빌드 테스트

코드를 수정한 후 Push 이벤트를 발동시켜 보면, 잠시 후 자동으로 Type 2 Job이 수행됩니다.

 

테스트로 한 번 더 README.md 파일을 수정하여 Push하게 되면 아래와 같이 Type1, Type2 가 각각 정상적으로 수행되는 것을 확인할 수 있습니다.

 

이것으로 2가지 방법으로 Git Push후 젠킨스 자동 빌드 설정이 완료되었습니다.

 

 

반응형

댓글