본문 바로가기

카테고리 없음

빌드란?

출처: https://e2e2e2.tistory.com/29

https://nanbuja.com/entry/%EB%B9%8C%EB%93%9C-%EB%B0%B0%ED%8F%AC-%EC%BB%B4%ED%8C%8C%EC%9D%BC%EC%9D%98-%EA%B0%9C%EB%85%90-%EC%B0%A8%EC%9D%B4%EC%A0%90-Build-Deploy-Complie

 

빌드란? 컴파일된 소스코드를 실행될 수 있는 소프트웨어 형태로 변환(실행할 수 있는 독립적인 구조로 변환)하는 과정, 혹은 그 결과

라이프 사이클이란 이미 정해져 있는 프로젝트 빌드 순서임.

(실행될 수 있는 소프트웨어로 변환하는 과정, 결과가 빌드이고 서버에 배포하는 과정, 결과가 빌드이니 배포의 의미는 결국 서버에 반영하여 실행될 수 있는 소프트웨어로 변환하는 것이다)

 

web/기타

빌드(build), 메이븐과 라이프 사이클

by fien 2021. 7. 8.
 

컴파일이란?

소스코드를 컴퓨터가 이해하는 기계어(바이너리코드)로 변환하는 과정

자바의 경우는 jvm에서 실행할 수 있는 바이트코드의 클래스 파일이 생성됨

빌드란?

소스코드를 실행할 수 있는 소프트웨어 형태로 변환하는 과정

→ 소스코드(java)나 프로젝트 리소스(.xml, .jpg, ...)를 jvm이나 was(톰캣)이 인식할 수 있는 구조로 패키징 하는 과정

소프트웨어가 응집력 있는 하나의 단위로써 작동하게 하는 과정

(테스트, 검사, 배포 기능등을 포함하는 단위로 생각하기도 함)

빌드 툴

  • 프로젝트 생성, 테스트 빌드, 배포 등 전체적인 라이프 사이클을 관리하기 위한 전용 프로그램(프로젝트 빌드순서가 라이프 사이클임)
  • 엔터프라이즈 개발시 일어나는 빈번한 라이브러리 추가 및 버전 동기화의 어려움을 해소
  • 코드 컴파일, 컴포넌트 패키징, 개발 테스트 실행, 버전관리 도구 통합, 문서 생성, 배포 기능 포함

~ maven, gradle

Maven

  • 의존성 관리 : pom.xml에 라이브러리를 설정하면 해당 라이브러리와 의존 라이브러리를 네트워크를 통해 자동으로 다운로드해서 로컬 레파지토리에 저장해준다.
  • → 이러한 기능이 없으면 다른 작업 환경에서 라이브러리 패스가 불일치 하거나 일일히 프로젝트 라이브러리 안에 저장하는 문제가 발생
  • 빌드 과정이 정해져 있으며(라이프 사이클) 프로젝트 관리 기능도 포함(build tool + project management) → 프로젝트 생성
  • 컴파일과 빌드 동시 수행, 패키지 배포의 용이함, 테스트 지원