[HometownBoard] Gradle이란?

junghan·2023년 4월 5일
0

SpringBootProject

목록 보기
2/35
post-thumbnail

그래들이란?

Gradle은 거의 모든 유형의 소프트웨어를 빌드할 수 있을 만큼 유연한 오픈 소스 빌드 자동화 도구입니다. Gradle은 빌드하려는 항목 또는 빌드 방법에 대해 거의 가정하지 않기 때문에, Gradle을 특히 유연하게 만듭니다.

가장 중요한 그래들의 역할은 의존관계를 관리해줍니다. 고맙다 그래들민수야~



설계

Gradle은 다음 기본 사항을 기반으로 설계되었습니다.

고성능

Gradle은 입력 또는 출력이 변경되어 작업을 수행해야 하는 작업만 실행하여 불필요한 작업을 방지합니다. Gradle은 다양한 캐시를 사용하여 이전 빌드의 출력을 재사용합니다. 공유 빌드 캐시를 사용하면 다른 시스템의 출력을 재사용할 수도 있습니다.

JVM 기반

Gradle은 JVM에서 실행됩니다. 빌드 논리는 표준 Java API를 사용할 수 있으므로 Java에 익숙한 사용자에게는 보너스입니다. 또한 다양한 플랫폼에서 Gradle을 쉽게 실행할 수 있습니다.

컨벤션

Gradle을 사용하면 규칙을 통해 일반적인 유형의 프로젝트를 쉽게 빌드할 수 있습니다. 플러그인은 빌드 스크립트를 최소한으로 유지하기 위해 합리적인 기본값을 설정합니다. 그러나 이러한 규칙은 사용자를 제한하지 않습니다. 빌드에서 설정을 구성하고 고유한 작업을 추가하고 다른 많은 사용자 지정을 수행할 수 있습니다.

확장성

대부분의 빌드에는 사용자 지정 빌드 논리가 필요한 특수 요구 사항이 있습니다. Gradle을 쉽게 확장하여 사용자 지정 작업 및 플러그인으로 자체 빌드 논리를 제공할 수 있습니다. 예를 보려면 Android 빌드를 참조하세요. 플레이버 및 빌드 유형과 같은 많은 새로운 빌드 개념을 추가합니다.

IDE 지원

여러 주요 IDE는 Android Studio, IntelliJ IDEA, Eclipse, VSCode 및 NetBeans를 포함하여 Gradle 빌드와의 상호 작용을 제공합니다. Gradle은 Visual Studio에 프로젝트를 로드하는 데 필요한 솔루션 파일도 생성할 수 있습니다.

통찰력

Build Scan™은 문제를 식별하는 데 사용할 수 있는 빌드에 대한 광범위한 정보를 제공합니다. 빌드 스캔을 사용하여 빌드 성능의 문제를 식별하고 디버깅 도움을 위해 공유할 수도 있습니다.



작업 술어

Gradle에 대해 자세히 알아보기 전에 다음 용어를 알아두면 도움이 됩니다.

Tasks

프로젝트는 Gradle이 빌드하는 것입니다. 프로젝트에는 일반적으로 build.gradle 또는 build.gradle.kts라는 프로젝트의 루트 디렉터리에 있는 파일인 빌드 스크립트가 포함되어 있습니다. 빌드 스크립트는 해당 프로젝트에 대한 작업, 종속성, 플러그인 및 기타 구성을 정의합니다. 단일 빌드는 하나 이상의 프로젝트를 포함할 수 있으며 각 프로젝트는 자체 하위 프로젝트를 포함할 수 있습니다.

작업

작업에는 코드 컴파일, 테스트 실행 또는 소프트웨어 배포와 같은 일부 작업을 실행하기 위한 논리가 포함되어 있습니다. 대부분의 사용 사례에서 기존 작업을 사용합니다. Gradle은 테스트를 실행할 수 있는 내장 Java 테스트 작업과 같이 많은 일반적인 빌드 시스템 요구 사항을 구현하는 작업을 제공합니다. 플러그인은 훨씬 더 많은 유형의 작업을 제공합니다.

작업 자체는 다음으로 구성됩니다.

  • 작업: 파일 복사 또는 소스 컴파일과 같은 작업을 수행하는 작업
  • 입력: 작업이 사용하거나 작동하는 값, 파일 및 디렉터리
  • 출력: 작업이 수정하거나 생성하는 파일 및 디렉터리

Plugins

플러그인을 사용하면 작업, 파일 및 종속성 구성을 넘어 빌드에 새로운 개념을 도입할 수 있습니다. 예를 들어 대부분의 언어 플러그인은 소스 세트 개념을 빌드에 추가합니다.

플러그인은 여러 프로젝트에서 로직과 구성을 재사용하는 수단을 제공합니다. 플러그인을 사용하면 작업을 한 번 작성하고 여러 빌드에서 사용할 수 있습니다. 또는 로깅, 종속성 및 버전 관리와 같은 공통 구성을 한 곳에 저장할 수 있습니다. 이렇게 하면 빌드 스크립트의 중복이 줄어듭니다. 플러그인으로 빌드 프로세스를 적절하게 모델링하면 사용 편의성과 효율성을 크게 향상시킬 수 있습니다.

Build Phases

Gradle은 빌드 수명 주기의 세 가지 빌드 단계에서 빌드 스크립트를 평가하고 실행합니다.

초기화

  • 빌드 환경을 설정하고 참여할 프로젝트를 결정합니다.

구성

  • 빌드에 대한 작업 그래프를 구성하고 구성합니다. 사용자가 실행하려는 작업에 따라 실행해야 하는 작업과 순서를 결정합니다.

실행

  • 구성 단계가 끝날 때 선택한 작업을 실행합니다.

Builds

빌드는 Gradle 프로젝트에서 작업 모음을 실행하는 것입니다. 작업 선택기를 지정하여 명령줄 인터페이스(CLI) 또는 IDE를 통해 빌드를 실행합니다. Gradle은 빌드를 구성하고 실행할 작업을 선택합니다. Gradle은 요청된 작업과 종속성을 기반으로 가장 작은 전체 작업 세트를 실행합니다.


그래들로 빌드하기

# 프로젝트가 있는 위치에서
$ ./gradlew build
$ cd build/libs
$ java -jar [프로젝트 명]

빌드가 잘 안되면

$ ./gradlew clean build

서버를 배포할 때는 .jar 파일만 뜯어서 서버에 넣고 실행하면 끝!

Gradle공홈

profile
42seoul, blockchain, web 3.0

0개의 댓글