사실 윤DB과제를 할때 maven 방식으로 진행을 한다 했다. 당시엔, 자바도 스프링도 처음이라서 뭐지.. 하면서 우선 넘어갔었다. maven, gradle 프로젝트가 뭔지. .궁금했는데 이번 스프링 스터디 환경설정을 하면서 공부해보았다.
Gradle이란?
Groovy를 기반으로 한 빌드 도구. CI/CD를 위한 Task들을 자동화해주는Build Tool 이다.
사용하는 Task는 다음과 같이 4가지가 있다.
Compile : Kotiln, Java 파일을 Byte 코드로 바꿔주는 작업
Test : 어플리케이션이 제대로 작동하는지 확인하는 Test (Junit, UI 테스트)등을 언급.
Packaging : 스프링 코드를 패키징해 jar, war 파일로 만들어주는 역할.
Deploy & Run : 스프링을 돌려 서버를 실행해주는 역할.
과거엔 Gradle 대신 Ant와 Maven을 사용했다고 한다. Gradle은 빌드 스크립트를 xml코드 (<dependencies..> 이랬던 코드를 ) JVM 전용 스크립트 언어인 그루비 기반의 DSL 언어로 표현한다.
https://madplay.github.io/post/what-is-gradle
Gradle이란 무엇일까?
그루비(Grrovy)를 기반으로 한 빌드 자동화, 개발 지원에 중점을 둔 빌드 도구인 그래들(Gradle)에 대해서 알아보자
madplay.github.io
(ant,maven에 대한 내용정리 및 그래들 사용방법)
장점
- 자바 문법과 유사함. 직관적인 코드, 자동완성 기능 (xml 파일에 비하면 진짜...)
- Gradle Wrapper를 이용해 Gradle이 설치되지 않은 시스템에도 프로젝트를 빌드할 수 있다.
- 다양한 Repository 사용 가능
- 해당 작업에 필요한 라이브러리만 가져올 수 있다.
(compilie, implements 메소드 활용)
- 빌드 속도가 빠르다. (바뀐 파일만 컴파일, 빌드 캐쉬활용, Daemon Process)
아무튼 Gradle은 이런 역할을 한다!
'BE > 6기 코테이토 - Spring Study' 카테고리의 다른 글
3회 - Ch.5 스프링 시큐리티와 OAuth 2.0으로 로그인 기능 구현하기 (0) | 2023.02.07 |
---|---|
3회 - Ch4 머스테치로 화면 구성하기 (0) | 2023.02.03 |
2회 Ch3. 스프링부트에서 JPA로 데이터베이스를 다뤄보자 (0) | 2023.01.27 |
1회 Ch2. 스프링 부트에서 테스트 코드를 작성하자. (0) | 2023.01.24 |
1회 - Ch1. 인텔리제이로 스프링부트 시작하기 (0) | 2023.01.20 |