본문 바로가기
  • 오늘도 한걸음. 수고많았어요.^^
  • 조금씩 꾸준히 오래 가자.ㅎ
IT기술/CS(ComputerScience)

개발에서 빌드도구(Build tool) maven, gradle 살펴보기

by 미노드 2023. 4. 18.

빌드도구 살펴보기

빌드도구를 접하기 전

솔로로 여러 개발을 해오던 나는 이런 개념을 접할 방법이 없어 모르던 내용이었다.
개발 툴을 세팅하는 방법이나 빌드를 편하게 하는 방법들은 속되게 말하면 돈버는 기술과 노하우다. 넷에서 쉽게 찾을 수 없으며 간혹 글이 있더라도 반복 숙달로 연습되지 않으면 이해하기 힘들다.


이런 개념을 모르고 일했던 내가 신기하기만 하고 미쳤나 싶기도 하다.

홈페이지 하나를 메모장만 가지고 웹 디자인까지 해가며 백앤드 세팅까지 다 끝내고 오류 다잡아낸 나다.... 요즘은 개발툴, 빌드툴로 다한다매? 세상 존나편하네

사수없이 초보시절을 지내다보니 이런 오차가 있는 것 같다만, 스스로 알아낼 수 밖에 없는 거 같다.

  • 새로운 프로젝트를 시작하는 단계에서
    • 어떤 프로그래밍 언어를 사용할까?
    • 어떤 플랫폼에서 개발할까?
    • 어떤 빌드도구를 사용할까?
    • 어떤 버전관리 시스템을 사용할까?
    • 어떤 빌드배포 시스템을 사용할까?

자바(Java)에서 널리 사용되고 있는 빌드도구는 그레이들(Gradle,
https://gradle.org/), 메이븐(Maven, https://maven.apache.org/)과 앤트(Ant,
https://ant.apache.org/) 등 이 있다.
그 외에도 몇 가지가 있지만 주류는 아니라고 생각한다.

빌드도구란?

에 대해서 간략히 이야기하자면
‘빌드도구’는 소스코드를 실행가능한 애플리케이션 생성물을 자동으로 만드는 프로그램이다.
빌드과정은 소스코드를 컴파일하고
연결하고 패키징하여 실행 가능한 형태로 가공한다.

기본적인 빌드 과정을 나열하면 다음과 같다.

  • 의존성 라이브러리 다운로드
  • 컴파일: 소스코드 → 바이너리코드
  • 테스트 실행
  • 바이너리코드 패키징
  • 운영시스템 배포

빌드 도구를 사용할 때 장점

  • 빌드 하기위한 도구를 쉽게 설치 할 수 있다.
  • 빌드 즉 실행파일을 만들 때 메뉴얼대로 할 수 있다.
  • 빌드 도구를 선택해서 사용할 수 있으며, 이식이나 확장이 편하다.

실제로 빌드도구를 써보면 알겠지만, 개발하는 주 소스에서 사용하기 위한 도구를 제공하고
제공한 도구들을 기반으로 빌드시켜주는게 핵심이다.

서비스 로직과는 별개의 언어를 쓰기도 하고 별개로 관리한다.