https://github.com/settings/profile
Settings -> Developer settings -> Personal access tokens -> Tokens (classic) -> Generate new token
차례로 들어가서 토큰 발급하겠습니다.
note : 사용하실 토큰 이름 작성해주세요.
Expiration : 토큰 유효기간 설정해주세요.
Select scopes : 빨간색 박스 두 개가 젠킨스에 요구하는 scope 입니다. 이 두 가지만 체크하셔도 상관없습니다.
Generate token 클릭!
토큰이 바로 생성될겁니다. 생성된 토큰 복사해주세요!
Jenkins 관리 -> System Configuration -> System
밑으로 내려보면 GitHub 설정 칸이 있습니다.
Add GitHub Server 클릭
Credentials 칸에서 + Add 클릭
📌 Name 부분은 작성하지 않아도 자동으로 설정되어집니다.
Kind : Secret text 로 설정
Secret : 복사한 토큰을 붙여넣어주세요.
아래 ID와 Description은 원하시는 거로 작성해주세요.
Credentials를 방금 생성한거로 선택해주고, Test connection 눌렀을때
Credentials verified for user cyseok, rate limit: 4998
메시지가 나오면 연동완료입니다.
새로운 Item 클릭
이름 작성해주시고
Freestyle project 선택해주세요.
설명 작성하고 아래 GitHub project 체크해서 Project url에 본인 프로젝트의 주소를 작성해주세요.
아래 소스 코드 관리에서 Project url작성
📌 여기서 Project url은
Repository URL에는 위 처럼 .git으로 끝나는 URL 입력해주세요.
Credentials에서 + Add 클릭!
Username : 깃허브의 아이디
Password : 깃허브의 비밀번호
ID : 젠킨스에서 사용할 아이디 입력
Description : 설명 기입
아래 Branches to build의 Branch Specifier 칸에는 빌드할 브런치를 작성해주세요.
저는 main 브런치를 사용했습니다.
빌드 유발은 GitHub hook trigger for GITScm polling으로 설정했습니다.
구성은 여기까지 설정하겠습니다.
간단하게 차이점 설명드릴게요.
이 다음에는 또 뭐해야해..??
Jenkins 관리 -> Plugins -> Available plugins 에서
GitHub Integration
를 검색해서 설치해주세요.
📌 Webhook
- webhook 기능은 특정 이벤트가 발생할 때마다 외부 웹이나 앱, 지정한 URL로 정보가 포함된 알림을 보내는 기능입니다.
깃허브 프로젝트 Settings -> Webhooks
Add webhook 클릭!
Payload URL : 젠킨스URL/github-webhook
Content type : application/json
아래는 Just the push event.로 설정해, 푸시될 때 webhook이 실행되도록 해주었습니다.
이렇게 설정해준다면 만약 GitHub에 Push될 때, 젠킨스에
자동적으로 빌드가 되는 것을 확인할 수 있습니다!!
📌 Jenkins - Webhook의 프로세스를 살펴보겠습니다!!
- GitHub에 Push되면, 정보가 Webhook을 이용해 Jenkins URL/github-webhook/ 으로 보내집니다.
- jenkins 에서 webhook을 이용해 보내온 정보를 Github Plugin에서 수신합니다.
- Github 플러그인에서 webhook을 통해 보내져온 깃허브 레퍼지토리를 확인합니다.
- 젠킨스에 설정된 레퍼지토리와 같다면 빌드를 시작합니다.