일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- BW
- GitHub
- 클라우드
- JavaScript
- docker
- VSCode
- InfoObject
- Python
- Git
- Grafana
- 배포
- ADSO
- InfoProvider
- Spring
- react
- aws
- 직매입
- 파이썬
- 특약매입
- EC2
- Jenkins
- InfoCube
- DW
- 깃허브
- HANADB
- SAP
- 자료형
- Java
- BW4HANA
- Today
- Total
개몽가
[Build 빌드 도구] 빌드란? Gradle 이란? (Gradle 프로젝트 구성) 본문
Gradle을 알아보기 전에 빌드 개념을 먼저 알아보자.
빌드(Build)
- 소스코드를 실행가능한 소프트웨어로 만드는 것을 뜻함
- 빌드 단계 중 컴파일과 링크 작업이 포함됨 (컴파일은 빌드의 부분집합)
컴파일(Compile)
- 소스코드를 컴퓨터가 이해할 수 있도록 바이너리 코드(기계어)로 변환하는 것을 뜻함
- 변환 작업을 수행하는 것을 컴파일러라고 함 ex) Java 에서 JVM이 컴파일러
링크(Link)
- A 객체에서 B 객체에 구현되어 있는 함수를 호출해서 사용할 때 이를 연결해서 하나의 실행파일을 만드는 작업을 뜻함
빌드 프로세스
preprocessing(전처리) -> compile(컴파일) -> packaging (패키징) -> testing(테스팅) -> distribution(배포)
빌드 툴에는 Ant, Maven, Gradle 이 있고, 오늘 알아볼 빌드 도구는 Gradle이다
Gradle 란?
- 오픈소스 기반의 Build 자동화 도구
- 멀티 프로젝트 Build 지원
- JVM에서 동작하는 스크립트 언어 Groovy 기반의 DSL(Domain Specific Lanaguge) 사용
- Gradle Wrapper 이용 시, 서버에 Gradle이 설치되어 있지 않아도 빌드 지원
- Maven의 pom.xml을 Gradle 용으로 변환 가능
- Maven 중앙 저장소를 지원해 라이브러리를 가져다 사용가능
Gradle 구조
intellJ에서 생성한 Gradle 기반의 Spring Boot 프로젝트 구조로 알아보자
Gradle Wrapper
Gradle을 사용하려면 서버에 기본적으로 설치되어야 한다.
하지만 Gradle Wrapper 이용 시 Gradle이 설치되어있지 않아도 사용가능하며 Java 버전과 상관없이 프로젝트를 빌드 할 수 있다.
Gradle Wrapper를 이용해 빌드하게 되면 프로젝트와 동일한 버전의 Gradle을 사용할 수 있기 때문에 사용을 권장한다.
서버에 설치된 gradle 이용 시,
$ gradle build
gradle wrapper 이용 시,
$ ./gradlew build
build.gradle 구조
구조는 아래 블로그를 참고하자
[Gradle] build.gradle 기본
Gradle에는 build.gradle라는 파일에 빌드에 대한 처리를 작성한다. 이 빌드 파일의 기본에 대해 설명한다. build.gradle 내용 및 플러그인 이전에 Gradle으로 "테스크"라는 것을 지정하고 다양한 작업을 수
araikuma.tistory.com
'Skill > Java' 카테고리의 다른 글
Spring에서 mariaDB 연동 (0) | 2020.07.10 |
---|---|
Map 컬렉션 반복문(HashMap, LinkedHashMap)_keySet()이용 (0) | 2020.04.11 |
[Java, Spring]제네릭과 @SuppressWarnings (0) | 2020.04.11 |