Zayson
A to Zayson!
Zayson
전체 방문자
오늘
어제
  • 분류 전체보기 (132)
    • Computer Science (20)
      • Network (4)
      • DB (12)
      • OS (4)
    • Algorithm (32)
      • 완전탐색(Brute-Force) (3)
      • 그리디(Greedy) (6)
      • 투포인터(Two-Pointer) (1)
      • 그래프(Graph) (5)
      • BFS & DFS (9)
      • 구현, 시뮬레이션(Implementation) (5)
      • 다이나믹 프로그래밍(DP) (3)
    • Backend (51)
      • Spring Boot (19)
      • JPA (16)
      • Kafka (2)
      • Java (13)
      • Kotlin (1)
    • DevOps (1)
      • Jenkins (5)
      • Oracle Cloud Infrastructure (1)
      • Kubernetes & Docker (1)
    • Trouble Shooting (3)
      • JPA (1)
      • Spring Boot (2)
    • 회고 (5)
      • 엔빵 프로젝트 포스트 로드맵 (1)
      • 2022년 (4)
    • Kafka (7)
      • Kafka (5)
      • Kafka Connect (2)
    • 기술 서적 (6)
      • 데이터 중심 애플리케이션 설계 (3)
      • 개발자가 반드시 정복해야할 객체 지향과 디자인 패턴 (2)
      • 가상 면접 사례로 배우는 대규모 시스템 설계 기초 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

인기 글

태그

  • kafka
  • 관계형 데이터베이스 실전 입문
  • SpringBoot
  • 완전탐색
  • Java
  • Kafka Connect
  • 백준
  • JPA
  • 라이브스터디
  • BFS
  • 그리디
  • Computer science
  • 구현
  • dfs
  • Backend
  • spring boot
  • 나 혼자 스프링부트!
  • CS
  • 엔빵프로젝트
  • 프로그래머스

최근 글

티스토리

hELLO · Designed By 정상우.
Zayson

A to Zayson!

[Jenkins CI/CD] 2.  Gradle 프로젝트 빌드하기
DevOps/Jenkins

[Jenkins CI/CD] 2. Gradle 프로젝트 빌드하기

2022. 4. 18. 00:33

젠킨스를 이용해서 스프링 부트, 그래들 프로젝트를 자동으로 서버에 배포하기 위한 절차를 정리한다.

  1. GitHub Repository 코드를 clone 하기
  2. Gradle 프로젝트를 빌드하기
  3. 빌드된 Jar 파일을 클라우드 서버로 전달
  4. Develop 브랜치 PR 시 자동으로 배포 (WebHook 사용)
  5. Jenkins Slack 연동

🏗️ Gradle 프로젝트 빌드하기

Clone해온 Github 레포지토리의 구조를 보면 gradle/wrapper 경로가 있고, 해당 파일 안데 “gradle-wrapper.jar”파일이 존재한다.

해당 jar파일을 빌드하기 위해서 ./gradlew bootJar 명령어를 사용해 Jar 파일을 빌드한다. 해당 명령어를 통해 빌드가 되면 ./build/libs 경로에 jar 실행파일이 생성된다.

 

 

Pipeline Script를 이용해 Clone 해온 프로젝트를 빌드해주기 위해서 스크립트를 작성한다.

먼저 Clone 과는 다른 하나의 작업이기 때문에 Stages 블록 내부에 Stage 블록을 입력해준다.

Stage 블록 안에 쉘 스크립트 명령어를 수행할 수 있는 sh''' {$ 명령어}'''를 통해 스크립트를 작성한다.

 

 

스크립트 작성이 완료되었다면, Pipeline을 이용해 실행해본다.

 

 

위와 같이 Pipeline을 이용해 첫 번째 Stage로 등록했던 Git Hub Repository Clone 작업이 성공적으로 완료되고 Nbbang Member Service Gradle Project Build가 실제로 성공적으로 수행됨을 확인할 수 있다.

마지막으로 로그를 확인하면 Build 스크립트를 작성 시 사용한 echo 명령어로 출력한 내용이 제대로 로그에 작성되고, 마지막 부분에 BUILD SUCCESSFUL이 된것을 확인할 수 있다.

 

 

📄 References

**[우젠구2편] 젠킨스 파이프라인을 활용한 배포 자동화 : **https://velog.io/@sihyung92/우젠구2편-젠킨스-파이프라인을-활용한-배포-자동화

Jenkins 공식 문서 : https://www.jenkins.io/doc/book/using/

반응형

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

[Jenkins CI/CD] 5. Jenkins와 Slack 연동 및 알림 받기  (0) 2022.04.18
[Jenkins CI/CD] 4. WebHook을 이용한 자동 배포  (0) 2022.04.18
[Jenkins CI/CD] 3. Jar 파일을 클라우드 서버로 전달하기  (0) 2022.04.18
[Jenkins CI/CD] 1. GitHub Repository Clone하기  (0) 2022.04.18
    'DevOps/Jenkins' 카테고리의 다른 글
    • [Jenkins CI/CD] 5. Jenkins와 Slack 연동 및 알림 받기
    • [Jenkins CI/CD] 4. WebHook을 이용한 자동 배포
    • [Jenkins CI/CD] 3. Jar 파일을 클라우드 서버로 전달하기
    • [Jenkins CI/CD] 1. GitHub Repository Clone하기
    Zayson
    Zayson
    공부한 내용을 정리하는 공간

    티스토리툴바