-
Jenkins(젠킨스) | Gradle, Jar 빌드&배포하기▼ DevOps/젠킨스 (Jenkins) 2021. 8. 23. 16:57반응형
Jenkins 설치
Jenkins + GitHub | Item(프로젝트) 생성
▶ 구성환경
Eclipse, Jenkins, SpringBoot, Gradle, Jar, Linux, Java, GitHub
Step
- 프로젝트 build.gradle(bootJar, bootRun) 설정
- Jenkins 플러그인 설치
- Jenkins Global Tool Configuration 설정
- Jenkins Item(프로젝트) Build, 빌드 후 조치 구성
- Jenkins Build Now
build.gradle
bootJar, bootRun은 제일 마지막 라인에 추가한다.
//@SpringBootApplication이 선언된 MainClass 설정 bootJar { mainClassName = 'com.melon.boot.MelonApplication' } ... //profiles 설정 bootRun { String activeProfile = System.properties['spring.profiles.active'] systemProperty "spring.profiles.active", activeProfile }
Jenkins 플러그인 설치
경로) Jenkins 관리 → 플러그인 관리
Gradle Plugin
=> Gradle 빌드를 위한 플러그인
Post build task
=> 빌드 로그를 판단해 batch/shell를 실행하는 플러그인Jenkins Global Tool Configuration 설정
경로) Jenkins 관리 → Global Tool Configuration → Gradle
Name
=> 원하는 이름으로 작성
Version
=> 실제 프로젝트 Gradle 버전, gradle-wrapper.properties에 명시되어있음Jenkins Item(프로젝트) Build, 빌드 후 조치 구성
Item(프로젝트) 상세 에서 구성 선택
Build
invoke Gradle script 선택 → Gradle Version 선택 (Global Tool Configuration에서 생성했던 버전)
Tasks에 bootJar빌드 후 조치
Post build task 선택
=> Log text(로그에 남길 텍스트)
Script
=> nohup java -jar /var/lib/jenkins/workspace/[프로젝트명]/build/libs/[jar파일명] &application.yml(또는 properties)이 아래와 같이 분리 되어 있다면 -DSpring.profiles.active 를 추가한다.
*Example
application-dev.yml, application-prod.yml
nohup java -jar -DSpring.profiles.active=dev /var/lib/jenkins/workspace/[프로젝트명]/build/libs/[jar파일명] &Jenkins Build Now
Build Now(빌드 실행 후) → Build History → Console Output에서 로그 확인이 가능하다.
SpringBoot 프로젝트에서 기본으로 설정된 포트 8080으로 접속
*포트는 프로젝트 내에 설정에 따라 다를 수 있다.실행된 프로세스 확인 및 종료하기
#실행중인 프로세스 출력 #java로 실행되고 있는 프로세스 출력 ps -ef | grep java #해당 프로세스에 대한 출력 ps -ef | grep '프로세스명' #실행중인 프로세스 종료 kill -9 [pid]
주기적으로 빌드하려면 Build Schedule 사용 (Item 상세 → 빌드 유발)
매일 오전 5시에
00 05 * * *
1시간마다
H * * * *
10분마다
H/10 * * * *
월~금요일, 오전 9시~오후 6시, 1시간마다
H 9-18/1 * * 1-5
일요일, 1시간마다
H * * * 7
nohup에 대한 자세한 설명
반응형'▼ DevOps > 젠킨스 (Jenkins)' 카테고리의 다른 글
Jenkins(젠킨스) | Maven, War 빌드&배포하기 (0) 2021.09.28 리눅스(Linux) | Jenkins 기본 포트 변경하기 (0) 2021.09.27 Jenkins + Github 연동하기 (2) 2021.08.20 Linux | Jenkins 삭제하기 (0) 2021.08.20 EC2(Linux)에 Jenkins 설치하기 (0) 2021.08.20