본문 바로가기
Computer Science/개발상식

Gradle이란?

by 밍상 2022. 11. 3.

Gradle이란?

2012년에 출시된 Groovy를 기반으로 한 오픈소스 빌드 도구로,

거의 모든 타입의 소프트웨어를 빌드할 수 있는 빌드 자동화 시스템이다.

 

빌드: 소스 코드를 컴파일, 테스트, 정적 분석 등을 실행하여 실행 가능한 애플리케이션으로 만들어 주는 과정이다.

소스 코드 -> 실행 가능한 파일

 

라이브러리가 많아지면서 생긴 문제점

1. 라이브러리 다운, 추가 어려움

2. 개발자들 간의 버전 관리 어려움

3. 다운받은 jar 파일의 보안 위험

 

빌드 도구

- 계속해서 늘어나는 라이브러리를 자동 추가 및 관리

- 프로젝트를 진행하며 라이브러리의 버전을 쉽게 동기화

 

Groovy

- JVM 상에서 실행되는 스크립트 언어

- Java와 유사한 문법 구조를 가지며, 호환성이 아주 좋다.

 

장점

  • 프로젝트를 설정 주입(Configuration Injection)방식으로 정의
    • Maven 상속 구조보다 재사용에 용이
    • 프로젝트의 조건을 체크할 수 있어서 프로젝트별로 주입되는 설정을 다르게 할 수 있다.
  • 멀티 프로젝트 빌드
    • 하나의 repository내에 여러개의 하위 프로젝트를 구성할 수 있다.
  • 빠른 빌드 속도
    • 점진적 빌드
      • Gradle은 빌드 실행 중 마지막 빌드 호출 이후에 task의 입력, 출력 혹은 구현이 변경됐는지 확인한다.
      • 최신 상태로 간주하지 않는다면 빌드는 실행되지 않는다.
    • 빌드 캐시
      • 두 개 이상의 빌드가 돌아가고, 하나의 빌드에서 사용되는 파일들이 다른 빌드에서 사용된다면 캐시를 이용해서 재사용할 수 있다.
    • 데몬 프로세스
      • Gradle의 데몬 프로세스는 메모리 상에 빌드 결과물을 보관
      • 이로 인해 한 번 빌드된 프로젝트는 다음 빌드에서 매우 적은 시간만 소요된다.

Example

 

출처

https://www.youtube.com/watch?v=ntOH2bWLWQs 

'Computer Science > 개발상식' 카테고리의 다른 글

문자 인코딩이란?  (0) 2022.08.11
Apache Kafka vs Amazon SQS  (0) 2022.05.27
kafka 아는 척 하기(정리 실패)  (0) 2022.05.11
CQRS 아는 척 하기  (0) 2022.04.14
NGINX란 무엇인가?  (0) 2022.03.24