Develop/Spring

컴파일? 빌드? Gradle? gradle wrapper? gradlew?

mabubsoragodong 2025. 3. 21. 20:27

제목이 좀 긴데 내가 항상 헷갈렸던 개념들과 그냥 모르고 썼던 개념들이다. 이번에 배포를 하는 과정을 해보게 되면서 직접 CLI 환경에서 빌드를 하는데 빌드란게 정확히 뭔지 몰라서 알아야할 필요성을 느꼈다.

 

우리가 평소에 흔히 빌드한다. 빌드한다. 컴파일 시점에 못잡는다. 

뭐 이런 말들을 아무렇지 않게한다. 

나는 그 뜻을 정확히 모르고 그냥 느낌상으로 알고만 있었다. 

컴퓨터 용어를 느낌상으로 안다는게 좀 웃기고 모르고 있는게 창피해서 알아가면서 정리해두려고 한다. 

 

컴파일? 빌드?

쉽게 정리하자면 

컴파일 : Java와 같은 high level language를 컴퓨터가 이해 가능한 low level language로 바꿔주는 작엄

빌드 : Java와 같은 high level language를 컴퓨터가 이해 가능한 low level language로 바꿔주고 실행파일 까지 생성하는 과정을 통틀어서 이르는 말

 

컴파일은 빌드 과정 중 하나이며, 빌드는 실행파일까지 온전히 나오는 그 전체 과정을 말하는 것이다.

 

그래서 우리가 ./gradlew clean build 하면 실행파일인 .jar파일이 생성되는 것이다.

 

gradle?

쉽게 말하면 위에서 설명했던 빌드 과정을 자동화해서 해주는 빌드 자동화 도구이다.

 

빌드도구란 소프트웨어 개발에 있어서 소스 코드를 실행 가능한 어플리케이션으로 만들어주는 도구를 말한다.

빌드 과정을 자동화하여 관리하는 기능을 하기 때문에 빌드 관리 도구 도는 빌드 자동화 도구라고 불리기도한다.

  • .gradle - gradle 버전 별 엔진 및 설정 파일
  • .idea  - 에디터 관련 파일들
  • gradle/wrapper - 사용자가 Gradle을 설치하지 않았어도 Gradle tasks를 실행할 수 있도록 도와준다. (프로젝트 생성자와 사용자가 동일한 버전의 Gradle 사용가능)
  • gradle-wrapper.jar - Wrapper 파일로 실행 스크립트가 동작하면 Wrapper에 맞는 환경을 로컬 캐시가 다운로드 받은 뒤 실제 명령에 해당하는 task 실행
  • gradle-wrapper.properties - Gradle Wrapper 설정 파일
    gradlew - Unix용 실행 스크립트 
  • gradlew.bat - Windows용 실행 스크립트
  • build.gradle - 의존성이나 플러그인 설정 등 프로젝트 빌드에 대한 모든 기능 정의
  • .settings.gradle - 빌드할 프로젝트 정보 설정

 

 

 

 

해당 블로그를 참고했습니다.

https://hstory0208.tistory.com/entry/Gradle이란-왜-사용하는지에-대해-알아-보자

 

Gradle이란? 왜 사용하는지에 대해 알아 보자.

Gradle이란 ? Gradle은 CI/CD를 위해 아래 작업들을 자동화 시켜 주는 Groovy 기반의 오픈소스 빌드 도구입니다. Compile - Java 파일의 소스 코드를 컴퓨터가 이해할 수 있도록 바이트 코드로 변환 Test - 유

hstory0208.tistory.com

https://shoveling.tistory.com/7

 

[기본개념] 컴파일(Compile) & 빌드(Build)란?

컴파일(Compile)이란? 컴퓨터는 인간의 언어를 이해할 수 없다. 그렇기에 인간은 고급언어로 프로그래밍 후 저급언어로 변환을 해야하는데, 이때 이루어지는 과정을 컴파일이라고 한다. 저급언어

shoveling.tistory.com