Programming/Server

[Server] Jenkins & Github webhook 설정하기

코딩하는 포메라니안 2022. 12. 10. 16:59

*Jenkins는 미리 설치한 상태로 진행했습니다.

1. Github Credential

Github에서 Personal access token을 생성한다.

jenkins에서 github로 접근할 때, 사용자 access token으로 인증 받고 접근할 수 있다.

 

- github에서 내 프로필 > settings > Developer settings

 

 

- Personal access tokens > Tokens(classic)

 

 

- [Generate new token] 클릭

 

 

토큰 생성 완료가 되었고, 다시 못보니까 잘 보관해두어야 한다.

 

 

2. Github webhook 설정

webhook을 설정할 프로젝트 repository > Settings > Webhooks > [Add webhook]

 

webhook은 아래와 같이 설정해준다.

Payload URL은 "서버의_jenkins_주소:포트번호/github-webhook/" 형식으로 작성해주어야 한다.

 

 

3. Jenkins에서 프로젝트 생성

*Freestyle project vs Pipeline

1. Freestyle project : 단순 배포하기 좋음 (선택)

2. Pipeline : 배포 단계별로 관리할 수 있어서 편리함

 

추후에 Jasypt암호화할 때, 프로젝트 실행 옵션으로 비밀키를 입력해주어야 했다.

따라서, JenkinsFile을 따로 작성하지 않고 ScriptShell으로 작성하기 위해서 Freestyle Project를 사용했다.

Pipeline으로도 가능한 지 확인 후에 가능하다면 보기 편한 Pipeline으로 변경할 것이다.

 

 

 

+) Credentials 설정

[+ Add] 클릭해서 아래와 같이 설정한다.

Username에는 자신의 github 아이디를 넣고, Password에는 1단계에서 만든 access token을 넣어주면 된다.