CI CD/Jenkins

[Jenkins] 기본 설정 기록

bbyuk 2023. 7. 30. 22:25

1. Spring boot 3 버전을 써 볼 예정이기 때문에, 먼저 기존에 설치한 openjdk 11버전을 17버전으로 올린다.

(Spring boot3 버전은 Java 17 이후 버전과 호환) 

아래에 기록.

https://bbyuck.tistory.com/47

 

[Linux] CentOS 8 - OpenJDK 17 설치

jdk 소스를 받아 경로를 잡아주는 방식으로 설치 1. os와 맞는 소스 다운로드 - linux 64 bit cd /home/opc wget https://download.java.net/java/GA/jdk17.0.2/dfd4a8d0985749f896bed50d7138ee7f/8/GPL/openjdk-17.0.2_linux-x64_bin.tar.gz 2. j

bbyuck.tistory.com

 

2. Jenkins jdk 설정

1번에서 설치한 jdk를 사용할 수 있도록 jenkins 설정한다.

 

Jenkins 관리 > Tools > JDK Installations 에서

아래와 같이 설정한다.

Name : 임의의 name

JAVA_HOME : 설치된 java의 루트 디렉터리 위에서 설치한 jdk로 잡아준다.

install automatically 체크박스는 해제해준다.

 

 

3. github credential 추가

github과 연동할 예정이므로, jenkins에서 github repo에 접근할 수 있게 credential을 추가해준다.

 

3.1. github access token 발급

https://bbyuck.tistory.com/48

 

[Jenkins] github access token 발급

jenkins에서 github repo에 접근할 때 사용하기위해 github access token을 발급한다. 우측 상단의 프로필을 클릭 해 Settings > Developer settings > Personal Access tokens > Tokens (classic) > Generate new token 을 통해 토큰을

bbyuck.tistory.com

3.2. credential 추가

https://bbyuck.tistory.com/49

 

[Jenkins] jenkins credential 추가

Jenkins에서 github repo에 접근할 수 있도록 credential을 추가해준다. 1. Jenkins 관리 > Credentials > System > Global credentials 메뉴까지 들어와 Add Credential 클릭 2. credential 정보 입력 Kind : Username with password Scope :

bbyuck.tistory.com

3.3. jenkins 환경 등록

Jenkins 관리 > System 메뉴에서 아래로 스크롤 후 Github 탭에서 Add Github Server 버튼으로 Github Server 추가 후

위 과정에서 생성한 Credential을 등록한다.

 

Name : 임의의 Name

API URL : https://api.github.com   

Credentials : 3.2에서 생성한 Credential 선택

 

Test connection을 눌러 아래와 같은 문구가 나오면 성공

 

4. github webhook 등록

github repo에 커밋이 푸시될 때, jenkins 서버로 webhook을 보낼 수 있도록 github에서 webhook을 등록한다.

github 접속 > 프로젝트 repo > Settings > Webhooks 에서 Add webhook 버튼으로 webhook을 추가한다.

 

 

Payload URL : ${ jenkins-url }/github-webhook/

Content type : application/json

 

입력 후 Add webhook

5. 프로젝트 추가

프로젝트를 추가할 때, git 서버를 추가하고 웹 훅을 받을 수 있도록 설정한다.

 

5.1. 프로젝트 좌측에 github 프로젝트 link를 추가한다.

 

5.2. 타겟 branch를 master에서 main으로 변경하고, GitHub hook trigger for GITScm polling을 체크해 webhook을 받았을 때 build를 실행하도록 한다.

5.3. 이후에 배포를 docker 컨테이너로 변경할 예정이므로 build도 변경되겠지만 일단 gradlew 빌드로 젠킨스 설정이 잘 되었는지 확인한다.

성공

 

 

6. 빌드 설정 및 배포 설정

23.07.30 기준으로 웹 훅을 받아 자동 빌드 되는 것 까지는 테스트 하였다.

배포는 마찬가지로 Oracle Cloud에 도커 컨테이너로 배포할 예정

이번주까지 개발 환경 설정을 마무리하고 본격적으로 개발을 진행할 예정

돌아오는 주 주말에 포스팅 예정

 

 

6. Security 설정

 

나만 사용할거긴 하지만 로그인해야만 사용할 수 있게,,

 

Jenkins 관리 > Security