Spring/강의

[📕 기초 Spring] 2-4. 빌드 관리 도구

가지코딩 2025. 5. 3. 15:59

📕 목차

  1. Gradle
  2. build.gradle

1. Gradle

Gradle

  • Groovy 기반 스크립트 언어를 사용하여 다양한 소프트웨어를 빌드(Build)할 수 있는 유연한 빌드 자동화 도구이다.

 

* 빌드(Build)

  • 소스 코드를 컴퓨터가 실행 가능한 파일로 변환하는 작업이다.
  • 빌드 작업에는 소스 코드 컴파일, 테스트, 패키징, 배포 준비 등이 포함된다.

 

Gradle 특징

  • 유연성
    • 복잡한 빌드 시나리오를 처리할 수 있는 유연한 시스템을 제공한다.
    • 빌드 스크립트로 다양한 작업을 정의하고 커스터마이징 가능하다.
  • 성능
    • Build Cache: 빌드 결과물을 캐싱하여 재사용한다.
    • 점진적 빌드: 변경된 부분만 빌드하며, 변경되지 않은 부분은 캐시된 결과를 사용한다.
    • 데몬 프로세스: 빌드 후 대기하는 프로세스로, 초기화 없이 빠르게 재빌드가 가능하다.
  • 멀티 프로젝트 빌드 지원
    • 공통 클래스를 모듈로 만들고 여러 프로젝트에서 재사용할 수 있다.
  • 설정 주입 방식
    • 프로젝트에 설정을 직접 주입하고, 공통된 정보는 묶어서 주입할 수 있다.
    • 프로젝트별로 설정을 다르게 주입할 수 있다.

 


2. build.gradle

build.gradle

  • Groovy 기반 언어로 빌드 스크립트를 작성하여 소스 코드를 빌드하고 라이브러리 의존성을 관리할 수 있다.

 

build.gradle 구조

plugins {
    id 'java'
    id 'org.springframework.boot' version '3.1.5'
    id 'io.spring.dependency-management' version '1.1.3'
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    runtimeOnly 'com.mysql:mysql-connector-j'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

repositories {
    mavenCentral()
}
  1. plugins (플러그인)
    • 특정 작업을 위한 task들의 모음이다.
  2. dependencies (의존성 관리)
    • 프로젝트에서 사용하는 라이브러리나 패키지를 관리한다.
  3. repositories
    • 라이브러리 저장소를 정의하고, 해당 저장소에서 라이브러리를 가져온다.

Gradle은 빌드를 자동화하고, 라이브러리 의존성 및 프로젝트 설정을 효율적으로 관리할 수 있는 도구이다.

build.gradle 파일을 통해 다양한 설정을 손쉽게 관리할 수 있다.