서버에 Git, Gradle, JAVA 등이 설치 되어있어야 합니다.
리눅스에 Gradle이 설치되어 있지 않다면 아래 포스트를 참조하세요.
[Lunux] gradle 4.x 설치
작업순서는 다음과 같습니다.
1. 관련 플러그인 다운로드
- Jenkins 관리 => 플러그인 관리 에서 가능
: Bitbucket Plugin
: Gradle Plugin
: Post build task Plugin => 빌드로그를 판단해 batch/shell 를 실행하는 플러그인
2. 툴 관리에서 Gradle 등록
- Jenkins 관리 => Global Tool Configuration 이동
- Gradle 등록
3. 빌드할 아이템 등록
1. 관련 플러그인 다운로드
Jenkins 관리 => 플러그인 관리 에 들어갑니다.
설치가능에 Bitbucket Plugin 검색하여 설치합니다.
Gradle Plugin 을 검색해 설치합니다.
post build 를 검색해 설치합니다.
2. 툴 관리에서 Gradle 등록
제가 설치한 서버는 Gradle 4.9 를 설치했습니다.
그래서 GRADLE_HOME 에 설치위치를 등록합니다.
그리고 install automatically 의 체크를 해제합니다.
3. 빌드할 아이템 등록
대시보드로 이동한 후에 새로운 Item 을 클릭하여 생성합니다.
Item 이름을 입력하고 Freestyle project를 선택한 후 하단에 OK를 누릅니다.
소스 코드 관리에서 BitBucket에 올린 코드주소를 입력합니다.
일반 Git 서버가 있다면 그것을 사용해도 됩니다.
그리고 Credentials 를 등록해야 하는데 ADD버튼을 눌러 등록을 합니다.
Username 과 Password를 입력하여 계정등록을 해둡니다.
.
Build when a change is pushed to BitBucket 를 체크합니다.
위에서 설치한 Bitbucket Plugin 을 설치하지 않았다면 해당 항목은 보이지 않습니다.
Build 에서는 Invoke Gradle를 체크한 후 위에서 등록한 Gradle_4_9 를 등록합니다.
Task 에는 bootJar 을 등록합니다.
빌드 후에 shell 입력을 통해 실행되도록 할 것입니다.
빌드 후 조치 에서 '빌드 후 조치 추가'를 클릭하면 위에서 설치한 'Post build task'이 있습니다.
클릭해서 Log text 에는 BUILD SUCCESSFUL 를 입력합니다.
빌드에 실패했는데 서버를 다시 띄우면 위험하니 꼭 성공한 후에만 실행하도록 합니다.
그리고 스크립트 내용에는 다음을 추가합니다.
nohup java -jar build/libs/[jar이름] &
이제 모든설정이 끝났습니다.
생성한 아이템으로 들어가서 Build Now 를 클릭해 실행합니다.
실행 한 후에 로그를 보면 스크립트를 실행한 흔적을 볼 수 있습니다.
1 2 3 4 5 6 7 | BUILD SUCCESSFUL in 6s 3 actionable tasks: 1 executed, 2 up-to-date Build step 'Invoke Gradle script' changed build result to SUCCESS Performing Post build task... Match found for :BUILD SUCCESSFUL : True Logical operation result is TRUE Running script : nohup java -jar build/libs/[jar이름] & | cs |
서버에서 확인해보면 build 폴더가 생겼고 하위 libs 에 들어가면 .jar 파일이 생성된 것을 확인할 수 있습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 | drwxr-xr-x 7 jenkins jenkins 183 Aug 9 18:33 . drwxr-xr-x 6 jenkins jenkins 98 Aug 9 18:10 .. drwxr-xr-x 6 jenkins jenkins 61 Aug 9 18:33 build -rw-r--r-- 1 jenkins jenkins 1302 Aug 9 14:48 build.gradle drwxr-xr-x 8 jenkins jenkins 162 Aug 9 18:33 .git -rw-r--r-- 1 jenkins jenkins 276 Aug 9 14:48 .gitignore drwxr-xr-x 3 jenkins jenkins 21 Aug 9 14:48 gradle drwxr-xr-x 6 jenkins jenkins 76 Aug 9 18:33 .gradle -rw-r--r-- 1 jenkins jenkins 5299 Aug 9 14:48 gradlew -rw-r--r-- 1 jenkins jenkins 2176 Aug 9 14:48 gradlew.bat -rw-r--r-- 1 jenkins jenkins 195 Aug 9 14:48 README.md -rw-r--r-- 1 jenkins jenkins 39 Aug 9 14:48 settings.gradle drwxr-xr-x 4 jenkins jenkins 30 Aug 9 14:48 src | cs |
완료
'공부 > 프로그래밍' 카테고리의 다른 글
[SpringSecurity] 설정 권한 정리 (0) | 2018.08.16 |
---|---|
[Java] Java8 람다식 Map 다루기(정렬, key값 가져오기 등) (0) | 2018.08.15 |
[Linux] centos7 젠킨스 설치 (0) | 2018.08.11 |
[Lunux] gradle 4.x 설치 (0) | 2018.08.10 |
[SpringSecurity] 인증 실패 시 핸들링 하는 법. (0) | 2018.08.09 |
댓글