DevOps

Jenkins - 로컬 환경에서 구성 및 경험해보기

어렵다어려웡 2022. 4. 26. 18:39

우선, 기본적으로 Jenkins 설정을 할 떄, 로컬환경의 경우 localhost

따라서 ngrok을 활용해서 포트포워딩 했습니다. 참고 부탁드립니다.

 


1. 우선 Github 계정에서 외부로부터 접근이 가능하게 해주는 Token을 생성해 줍니다.

이 Token을 통해서 Jenkins를 설정을 하게 됩니다.

 

2. 토큰을 생성할 때 만료시간을 설정해주고, repo , admin:repo_hook 을 체크해줍니다.

 

성공적으로 생성을하면 아래와 같이 Secret Key가 발급됩니다. 복사를 해서 저장을 해둬야 하며,

생성했을 때 이외에는 해당 Key값을 알수 있는 방법이 없습니다.

 

3.  이후 Jenkins 페이지에서 로그인을 합니다.

Jenkins 관리 - 시스템 설정 - Jenkins URL ( ngrok )

로컬환경에서는 localhost 경로를 쓰기 떄문에 특정 서버가 아니라면 추가적으로 설정을 해줘야합니다.

저는 Jenkins 주소를 ngrok을 사용해서 포트포워딩을 해서 넣어줬습니다.

그리고 Github Server를 추가적으로 설정해줍니다.

 

여기서 Credentials 는 추가적으로 등록을 해줘야합니다.

Add 버튼을 통해서 추가를 해줘도 되며 

Jenkins 관리 - Manage Credentials 탭으로 들어가서 Credentials 을 추가해도 무방합니다.

그리고 Jenkins Project에 쓰일 Credential을 하나더 추가해줍니다.

* Kind - Secret text , Secret - github에서 발급받은 token key

* Kind - Username with password , Username - github 계정 profile의 name으로 설정,

password - github 계정 비밀번호 , ID - 구분자

 

4. 플러그인 설치

Jenkins - Dashboard - Jenkin 관리 - 플러그인 관리 탭으로 들어가서 'Github Integration Plugin' 의 설치 유무를

확인해줘야 합니다.

 

5. 프로젝트 추가하기.

새로운 Item 생성 - FreeStyle project를 클릭합니다.

6. 소스코드 관리 - Git 클릭, URL 및 Credential 설정추가.

URL은 사용될 Github Repository 경로를 입력합니다.

여기서 Credential은 'Username with Password' 로 생성한 Credential이 사용됩니다.

 

 

7. 빌드유발 - Github hook trigger for GITScm polling 체크

8. Github - Project - Settings - Webhook 확인

Jenkins에서 Github Integration Plugin 을 설치해두면 Jenkins 프로젝트를 생성했을 시 

설정해둔 Github Repository에 Webhook이 자동으로 추가가 됩니다.

 

자동으로 추가되는 부분은 거의 정확한 정보는 아니지만 다른 Repository를 생성해서 테스트 해본 결과

Webhook 에 자동으로 추가가 되었었습니다. 

 

Jenkin 프로젝트를 저장하고 난 후에 Webhook이 하나 더 추가된 모습입니다.

 

9. 프로젝트 Commit - Push 진행을 하면 자동으로 Jenkins가 빌드를 합니다.