BackEnd/Spring

[Spring]Gradle을 이용한 jar 파일 Build 및 배포

Hojung7 2024. 11. 27. 10:02
1. 용어 및 특징 정리

 

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

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

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

4) Gradle
빌드 자동화 시스템

 

2. Spring Boot 특징

 

- Spring Boot는 프로젝트 내부에 배포를 위한 서버(Tomcat) 이 내장되어 있다.

 

- Spring Boot Starter로 프로젝트 생성 시

main() 메서드가 포함된 프로젝트명Application.java 파일이 자동으로 추가된다.

 

- Spring Boot App을 실행할 경우

main() 메서드가 실행되며 이 때 내장된 서버가 같이 실행되며 프로젝트를 배포한다

.

 

3. Spring Boot Project 배포하기

 

** Spring 소스 코드 작성을 지원해주는 STS를 이용하면 자동 빌드, 배포가 가능하지만
STS 실행 유지를 위해서는 많은 자원(CPU,메모리)이 소모된다.
→ STS 없이 Spring Boot Project만 빌드 후 실행하도록 하여 사용 자원을 감소하도록 함
(성능 개선)

 

1) 명령 프롬프트(cmd) 또는 터미널을 이용해 배포하 려는 프로젝트 폴더로 이동

cd [폴더 경로]

 

 

* Window인 경우
탐색기 → 프로젝트 폴더 이동 → 주소창에 cmd 입력 시 해당 경로로 지정된 명령 프롬프트가 열림


* Mac인 경우
터미널에 cd 입력 → Finder에서 프로젝트 폴더 까지 이동 → 터미널로 Finder에서 찾은 폴더를 드래그하면 자동으로 경로가 작성
됨.

 

2) gradlew(또는 gradlew.bat) 파일을 이용해서 프로젝트 build 수행

gradlew clean build

▷ gradlew 또는 gradlew.bat 

프로젝트 폴더 → gradle 폴더에 존재하는 파일을 사용할 수 있게 하는 파일.


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

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

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

 

 

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

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

 

4) 배포 중인 서버 종료

ctrl + c

 

'BackEnd > Spring' 카테고리의 다른 글

[Spring] 알림 보내기  (0) 2024.10.17
[Spring]예외처리  (0) 2024.10.15
[Spring]게시글 검색  (0) 2024.10.14
[spring]인터셉터(Interceptor)  (0) 2024.10.14
[Spring]댓글 등록/삭제/등록  (0) 2024.10.11