소스 코드 파일을 컴퓨터나 휴대폰에서 실행할 수 있는 독립 소프트웨어 가공물로 변환하는 과정을 말하거나 그에 대한 결과물을 일컫는다. * 독립 SW 가공물 = Artifact
✅ 빌드 세분화
1) 소스 코드 컴파일
2) 테스트 코드 컴파일 (*요즘 테스트코드의 중요성이 더 커지고 있음)
3) 테스트 코드 실행
4) 테스트 코드 리포트 작성
5) 기타 추가 설정한 작업들 진행
6) 패키징 수행
7) 최종 SW 결과물을 만들어 냄
❗️Java에서 쓰는 빌드 툴은 Ant, Maven, Gradle → 현재는 주로 maven/gradle 2가지가 많이 쓰임.
장점
- 설정을 위해 xml 사용
- 간단하고 사용하기 쉬움
단점
- 복잡한 처리를 하려 하면 빌드 스크립트가 장황해서 관리하기 어려움
- 외부 라이브러리를 관리하는 구조가 없음
장점
- 설정을 위해 xml을 사용
- 외부 라이브러리를 관리 할 수 있음
- 장황한 빌드 스크립트 문제를 해결함
단점
- 특정 경우에 xml이 복잡해짐
- xml 자체의 한계가 있음
장점
- 설정을 위해 groovy 언어(JVM에서 실행되는 스크립트 언어) 사용
- 외부 라이브러리를 관리할 수 있음
- 유연하게 빌드 스크립트를 작성할 수 있음
- 성능이 뛰어남
Ref.
공부하는 개발자 YouTube