Spring/공부

빌드, 배포, 컴파일의 개념 & 차이점 (Build, Deploy, Compile)

pakms980319 2024. 4. 29. 09:52

빌드, 배포, 컴파일의 개념 & 차이점 (Build, Deploy, Compile)


 

서버에 기능을 추가 하려면 개발자가 로컬 PC에서 개발을 하고 테스트까지 진행한 뒤에 문제가 없을 경우 사용자가 사용할 수 있도록 수정된 코드를 실서버에 반영해야 한다.

서버에 반영을 하는 것을 "배포"라고 하고 배포(Deploy) 하기 위한 과정을 "빌드" 라고 한다.

 

 

 

빌드(Build)란 ?

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

예를 들어 Java 프로젝트를 진행한다면 개발자가 작성한 A.java 와 여러가지 정적 파일등에 해당하는 resources 가 존재한다.

빌드를 한다면 소스 코드를 컴파일해서 .class 로 변환하고 resource 를 .class 에서 참조할 수 있는 적절한 위치로 옮기고 META-INF 와 MANIFEST.MF 들을 하나로 압축하는 과정을 의미한다.

컴파일은 빌드의 부분집합이라고 생각하면 된다.

또한, 빌드 과정을 도와주는 도구를 Build Tool 이라고 한다.

즉, 컴파일 된 코드를 실제 실행할 수 있는 상태로 만드는 일을 Build 라는 개념으로 생각하면 된다.

 

 

 

빌드 툴(Build Tool) 종류

빌드에서는 컴파일, 테스트, 배포 등 과정이 포함될 수 있고, 빌드 과정을 도와주는 도구를 빌드 툴이라고 한다.

일반적으로 빌드 툴이 제공해주는 기능으로는 다음과 같은 기능들이 있다.

전처리(preprocessing), 컴파일(compile), 패키징(packaging), 테스팅(testing), 배포(distribution)

빌트 툴로는 Ant, Maven, Gradle 등이 있다.

 

 

 

컴파일이란?

컴퓨터가 이해할 수 있는 언어로 바꿔주는 과정을 말하며, Java의 경우 컴파일의 결과로 자바가상머신(JVM) 에서 실행가능한 ".class" 파일이 생긴다.

컴파일과 빌드가 같다고 생각할 수 있지만, 컴파일은 빌드를 진행하는 과정의 일종의 하나인 Task 이다.

즉, 소스코드를 컴퓨터가 이해할 수 있는 기계로어로 변환하는 작업을 말한다.

 

 

결론

Build = Compile + 그 외 작업

Run = Build + 실행

 = (Compile + 그 외 작업) + 실행

 

 


 

작성한 프로젝트 파일 배포 실습

 

Tomcat 서버를 이용하여 작성한 프로젝트 파일을 Export 설정을 이용하여 War 파일로 만들어준다

 

  • 프로젝트 우클릭 > Export > war > 이름, 위치 지정
  • 프로젝트의 jdk 버전과 환경설정의 jdk 버전이 맞아야한다 (cmd > java -version 확인, 프로젝트 jdk 버전 확인)
  • project facets 확인
  • 이러한 과정은 나중엔 자동화 할 수 있다

 

War Export

 

.war 파일

 

톰캣 > webapps

 

해당 폴더에 생성한 war 파일을 옮겨둔다

 

이후 서버 실행

 

실행창

 

 

 

 

 

Apache Tomcat 실행

 

 

bookApp 접속

 

서버 실행 후 웹 브라우저에서 war 파일의 이름으로 경로를 입력하면 설계했던 홈페이지를 볼 수 있다

 

관리자페이지

 

애플리케이션들의 경로를 설정하거나 관리를 하려면 localhost:포트번호/manager 로 접속하면 된다

초기 admin의 비밀번호는 1234 이다

 

'Spring > 공부' 카테고리의 다른 글

스프링 프레임워크 02) 환경 설정  (0) 2024.04.29
스프링 프레임워크 01) 프레임워크란 ?  (0) 2024.04.29