less than 1 minute read

빌드(Build)란?

일반적으로 빌드란 소스코드 파일을 컴퓨터에서 실행할 수 있는 독립적인 형태로 변환하는 과정과 그 결과를 말한다.

예를들어 간단히 자바 프로젝트를 만들어 진행할 때, 그 안에는 우리가 작성한 .java 파일들과 정적 파일등에 해당하는 resource 파일들이 존재하게 된다. 
빌드를 진행하는 것은 소스코드를 compile하여 클래스 파일(.class)로 변환하고 resource 파일들을 클래스 파일에서
참조할 수 있는 적절한 위치로 옮기고, 추가적으로 META-INF와 MANIFEST.MF들을 하나로 압축하는등 이러한 일련의 과정을 의미한다.

그렇다고해서 컴파일이 필요한 언어에만 국한되는 작업은 아니다.
말했듯이 resource 파일등 어플리케이션의 실행에 필요한 파일들의 이동이나 압축하는 것도 빌드 프로세스에 포함되기 때문에
인터프리터 언어로 작성된 프로그램에도 포함되는 작업이다.

즉, 빌드란 종속성 다운로드, 컴파일, 코드 패키징, 테스트, 배포등의 모든 과정들을 의미한다.

빌드 툴(Build Tool)이란?

소스 코드의 컴파일, 테스트, 정적분석, 링크, 패키징등(위에서 말한 빌드)을 통해 실행 가능한 애플리케이션을 자동 생성하는 프로그램이다.

즉, 빌드 툴은 위에서 설명한 빌드 과정을 테스크에 정의된대로 실행하게 된다.
(Gradle에서는 이러한 행위의 단위를 Task, Maven에서는 Lifecycle이라고 칭한다.)

빌드 툴은 왜 써야할까?

소규모 프로젝트에서는 개발자가 스스로 빌드 과정을 진행할 수 있다.
하지만 대규모 프로젝트에서는 순서에 맞게 빌드하고 종속성을 추적, 라이브러리를 다운로드하는 과정이 비효율적이고 실용적이지 않다.
빌드 툴을 사용하면 빌드 프로세스(과정)을 일관성있게 수행할 수 있다.

빌드 툴의 대표적인 2가지 종류로는 Maven과 Gradle이 있다.   

Categories:

Updated:

Comments