본문 바로가기

Programming/Jenkins

Jenkins, Spring Boot Gradle 프로젝트 Jar 파일 배포

Jenkins, Jar 파일 배포 순서

Spring Boot Gradle 프로젝트의 Jar 파일을 Jenkins에서 배포하는 과정은 다음과 같습니다.

1. Jenkins 플러그인 설치

2. Jenkins Gradle 설정

3. Jenkins Item 빌드

 

1. Jenkins 플러그인 설치

① Jenkins 관리 → 플러그인 관리

 

② Gradle, Post build task 플러그인이 설치되었는지 확인(Installed plugins)하고 없다면 설치(Available plugins)

- Gradle: Gradle 빌드를 위한 플러그인

- Post build task: 빌드 로그 성공 확인 후 batch/shell 실행하는 플러그인

 

 

2. Jenkins Gradle 설정

① Jenkins 관리 → Global Tool Configuration

 

② Gradle → Gradle Installations → Add Gradle

- name: 구분할 gradle명 지정

- version: 프로젝트가 사용하는 gradle 버전 확인(gradle-wrapper.properties 파일 내용 확인)하여 선택

 

 

3. Jenkins Item 빌드

① Item 구성 선택

 

② Build Steps

Add build step → Invoke Gradle script → Invoke Gradle에서 Gradle Version 선택 → Tasks는 bootJar 입력

 

build.gradle의 경로가 /var/lib/jenkins/workspace/[프로젝트명]/build.gradle이 아닌 경우 명시

Build Steps → 고급 선택 → Root Build script 작성

 

④ 빌드 후 조치

빌드 후 조치 추가 → Post build task → Log text(로그로 출력할 텍스트), Script(빌드 후 실행할 스크립트) 작성 → 저장

- 일반적인 script 작성

nohup java -jar /var/lit/jenkins/workspace/[프로젝트명]/build/libs/[jar파일명] &

- 서버에서 사용할 목적으로 추가한 application-prod.properties 파일을 사용할 경우

nohup java -jar -DSpring.profiles.active=prod /var/lib/jenkins/workspace/[프로젝트명]/build/libs/[jar파일명] &

- no hang up 로그 남기는 script 샘플

#!/bin/bash

echo "Shutting down previous service..."
fuser -k 8443/tcp

echo "Activating new service..."
export BUILD_ID=dontKillMe
nohup java -jar -DSpring.profiles.active=prod /var/lib/jenkins/workspace/voicecollector/voicecollector/build/libs/voicecollector-0.0.5-SNAPSHOT.jar >> nohup.out 2>&1 &

- 이전 단계가 성공했을 때만 스크립트가 실행되도록 체크

 

⑤ Item Build Now

 

⑥ Console Output 확인

 

⑦ Jenkins가 설치된 서버 workspace의 프로젝트에서 jar 파일 생성 확인

 

⑧ 배포한 서버 접속 주소로 브라우저 검색

 

 

Jenkins가 설치된 서버에서 실행된 프로세스 확인 및 종료

① 실행 중인 프로세스 확인

# java로 실행 중인 프로세스 출력
$ ps -ef | grep java

# 실행 중인 프로세스 종료
$ kill -9 [pid]

'Programming > Jenkins' 카테고리의 다른 글

Jenkins Webhook, Github push하면 자동 빌드 하기  (0) 2022.12.31
Jenkins, Cron 기능 사용하기  (0) 2022.12.30
Jenkins와 Github 연동하기  (0) 2022.12.30
Ubuntu Jenkins 설치  (0) 2022.12.30