Gradle이란?
2012년에 출시된 Groovy를 기반으로 한 오픈소스 빌드 도구로,
거의 모든 타입의 소프트웨어를 빌드할 수 있는 빌드 자동화 시스템이다.
빌드: 소스 코드를 컴파일, 테스트, 정적 분석 등을 실행하여 실행 가능한 애플리케이션으로 만들어 주는 과정이다.
소스 코드 -> 실행 가능한 파일
라이브러리가 많아지면서 생긴 문제점
1. 라이브러리 다운, 추가 어려움
2. 개발자들 간의 버전 관리 어려움
3. 다운받은 jar 파일의 보안 위험
빌드 도구
- 계속해서 늘어나는 라이브러리를 자동 추가 및 관리
- 프로젝트를 진행하며 라이브러리의 버전을 쉽게 동기화
Groovy
- JVM 상에서 실행되는 스크립트 언어
- Java와 유사한 문법 구조를 가지며, 호환성이 아주 좋다.
장점
- 프로젝트를 설정 주입(Configuration Injection)방식으로 정의
- Maven 상속 구조보다 재사용에 용이
- 프로젝트의 조건을 체크할 수 있어서 프로젝트별로 주입되는 설정을 다르게 할 수 있다.
- 멀티 프로젝트 빌드
- 하나의 repository내에 여러개의 하위 프로젝트를 구성할 수 있다.
- 빠른 빌드 속도
- 점진적 빌드
- Gradle은 빌드 실행 중 마지막 빌드 호출 이후에 task의 입력, 출력 혹은 구현이 변경됐는지 확인한다.
- 최신 상태로 간주하지 않는다면 빌드는 실행되지 않는다.
- 빌드 캐시
- 두 개 이상의 빌드가 돌아가고, 하나의 빌드에서 사용되는 파일들이 다른 빌드에서 사용된다면 캐시를 이용해서 재사용할 수 있다.
- 데몬 프로세스
- Gradle의 데몬 프로세스는 메모리 상에 빌드 결과물을 보관
- 이로 인해 한 번 빌드된 프로젝트는 다음 빌드에서 매우 적은 시간만 소요된다.
- 점진적 빌드
Example
출처
'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 |