빌드Build란 ?

yoondgu·2022년 7월 10일
0

스프링을 배우기 시작하면서 Maven, Gradle과 같은 빌드도구를 사용하게 되었다.

그런데도 빌드를 정확히 알지 못하고 있어서 간단한 개념만이라도 정리해보려고 한다.

컴파일 Compile

개발자가 작성한 소스코드를 컴퓨터가 이해할 수 있는 기계어로 변환하는 작업
* 자바: JVM에서 실행가능한 클래스파일이 생성된다.

여러 개의 소스파일들을 컴파일한 결과물로 최종 실행가능한 파일을 만들 때, 필요한 부분(예를 들어 다른 소스파일의 함수를 호출하는 등)들을 찾아서 연결해주는 작업
* 자바: JVM이 프로그램 실행 중에 클래스를 찾아서 연결해준다(클래스패스에 로드)

빌드 Build

소스코드 파일을 '살행 가능한 소프트웨어 산출물'로 만드는 일련의 과정.
소스코드 파일을 컴퓨터에서 실행될 수 있는 '독립적인 형태'로 변환하기까지 과정과 결과를 말한다.

따라서 컴파일, 링크 작업은 빌드의 부분집합이다.
컴파일, 링크 작업만 있지는 않고 테스트, 배포 등의 과정들이 빌드에 포함될 수 있다.

빌드도구 Build Tool

빌드 과정을 도와주는 도구를 빌드도구라고 한다.
빌드 자동화를 시켜주고,
일반적으로 전처리(preprocessing), 컴파일(compile), 패키징(packaging), 테스팅(testing), 배포(distribution)와 같은 기능들이 있다.

  • 빌드 도구를 사용하는 이유 (쓰지 않을 수 없는 이유)
    • 수많은 라이브러리 다운로드, 의존성 설정, 컴파일, 테스트, 실행파일 변환 등 ..의 자동화, 편리화
    • 운영환경을 쉽고 정확하게 설정할 수 있다. (개발자의 PC에 따라 개발환경이 결정되지 않는다.)

- 그동안 이클립스로 Java Application을 실행하면서 Build처리를 해준 적이 없는데..?
나는 이클립스라는 IDE를 통해 프로그램 실행을 시켰다.
이클립스에서 빌드까지 해서, 즉 실행 가능한 산출물로 만들어 그 결과물을 실행해준 것이다.

0개의 댓글