본문 바로가기

Tech/[CI & CD] Jenkins

Mac 로컬 환경에서 Jenkins 설치 및 Github 연동

Jenkins 설치

[homebrew를 활용한 Jenkins 설치]

brew install jenkins-lts

brew service restart jenkins

 

[Jenkins 첫 설정]

서비스가 정상 동작하면 http://localhost:8080 접속

초기 Administrator Password 를 입력하는 창이 출력됨.

  • /users/유저명/.jenkins/secrets/initialAdminPassword 에 초기 비밀번호 저장되어 있음.

Install Suggested Plugins 를 클릭해 Jenkins 에서 Standard 하게 사용되는 플러그인 연동.

  • 해당 작업에서 네트워크 환경에 따라 5분 ~ 1시간 소요

관리자 계정 생성 페이지에서 관리자 계정 생성

Instance Configuration 창에서는 기본 값(http://localhost:8080/) 유지.

 

Github와 연동

Dashboard → Jenkins 관리 → Plugins → Available plguins → 검색 : github intergration → download

설치 이후 자동으로 Jenkins 서비스가 재시작됨.

Dashboard → Jenkins 관리 → Plugins → Installed plguins → 검색 : github intergration

  • 정상적으로 설치되어 있는지 확인

 

Jenkins + Github 연결 테스트

Dashboard → All → New Item → Freestyle Project 생성

  • itemname : TestGithubProject

Github 페이지에서 아래와 같이 HTTPS Git 주소 복사

Github Project 체크 후 Git 주소 붙여넣기

소스 코드 관리 → Git

  • Repository URL 추가
  • Credentials → Jenkins 클릭

Github Token 생성 방법

Github 로그인 세션이 유지된 상태로 https://github.com/settings/tokens 접속

  • Generate new token (classic) 클릭

권한 체크 후 Generate Token

  • repo, admin:repo_hook

아래와 같이 Credentials 생성

  • Username : Github ID
  • Password : Github Token 값 (권한 : repo, admin:repo_hook)
  • ID : Jenkins 내부 표시 이름

Jenkins 에서 추적할 Branch 를 적절하게 선택.

Github 에서 Webhook 생성 시 Mac 에 접근이 필요함.

이를 위해 ngrok 를 사용해 로컬 네트워크에 터널 열어줘야 함.

ngrok 설치 및 설정

https://dashboard.ngrok.com/get-started/setup/macos 를 따라 진행하면 됨.

  • 회원가입 필수

아래와 같이 Session 이 Online 인 상태에서 이후 작업을 진행해야 함.

Github 에서 추적하고자 했던 Git 에서 Webhooks 생성

아래와 같이 상태도 반드시 확인할 것

이후 Jenkins 설정 → Triggers → Github hook trigger GITScm polling 체크 → Save