10_Gradle을 이용한 jar 파일 Build 및 배포

송지윤·2024년 4월 4일
0

Spring Framework

목록 보기
10/65

1. 용어, 특징 정리

컴파일 (Compile)

  • C, Java 같은 프로그래밍 언어로 작성된 소스 코드를 컴퓨터가 이해할 수 있는 기계어(이진수)로 변환하는 과정(번역)
  • 컴파일러 : 컴파일을 해주는 프로그램

빌드 (Build)

  • 소스 코드를 컴퓨터가 실행 가능한 형태로 변환하는 과정
  • 소스 코드 컴파일 및 필요한 리소스 파일들을 함께 패키징하여 실행/배포 가능한 애플리케이션 또는 라이브러리(예: JAR 파일)를 만들어냄
  • 빌드 시 코드의 오류를 검사, 의존성 관리, 테스트 수행, 코드 최적화 등 수행 가능

배포 (Deploy)

  • 소프트웨어나 애플리케이션을 실제 사용자가 접근/이용할 수 있는 환경에 설치하고 실행 가능하도록 하는 과정
  • 웹 애플리케이션의 경우 배포 시 http 요청/응답을 할 수 있는 도구(브라우저)를 이용해 사용자가 주소를 작성하여 접근/이용 가능

Gradle

  • 빌드 자동화 시스템

Spring Boot 특징

  • Spring Boot는 프로젝트 내부에 배포를 위한 서버(Tomcat) 이 내장되어 있다.
  • Spring Boot Starter로 프로젝트 생성 시 main() 메서드가 포함된 프로젝트명Application.java 파일이 자동으로 추가된다.
  • Spring Boot App을 실행할 경우 main() 메서드가 실행되며 이 때 내장된 서버가 같이 실행되며 프로젝트를 배포한다.

2. Spring Boot Project 배포하기

  • Spring 소스 코드 작성을 지원해주는 STS를 이용하면 자동 빌드, 배포가 가능하지만 STS 실행 유지를 위해서는 많은 자원(CPU,메모리)이 소모된다.
    → STS 없이 Spring Boot Project만 빌드 후 실행하도록 하여 사용 자원을 감소하도록 함
    (성능 개선)
  1. 명령 프롬프트(cmd) 또는 터미널을 이용해 배포하려는 프로젝트 폴더로 이동
    cd [폴더 경로]
  • Window인 경우
    탐색기 → 프로젝트 폴더 이동 → 주소창에 cmd 입력 시 해당 경로로 지정된 명령 프롬프트가 열림
  • Mac인 경우
    터미널에 cd 입력 → Finder에서 프로젝트 폴더 까지 이동 → 터미널로 Finder에서 찾은 폴더를 드래그하면 자동으로 경로가 작성
    됨.
  1. gradlew(또는 gradlew.bat) 파일을 이용해서 프로젝트 build 수행

gradlew clean build

  • gradlew 또는 gradlew.bat :
    프로젝트 폴더 → gradle 폴더에 존재하는 파일을 사용할 수 있게 하는 파일.
    gradle 명령어를 수행할 수 있음.

  • gradlew build : 프로젝트 빌드 수행
    → 빌드 결과물로 생성된 컴파일 파일은 build/libs 폴더에 .jar 형태로 생성됨!

  • gradlew clean : 이전 빌드 내용을 삭제

  • gradlew clean build : 이전 빌드 내용 삭제 후 새롭게 빌드 수행

  1. 빌드된 프로젝트 파일을 java (JRE)를 이용해 실행
    → 프로젝트에 내장된 톰캣에 의해 배포된다!

java -jar build/libs/[빌드된 .jar파일]

  1. 배포 중인 서버 종료

ctrl + c

0개의 댓글