빌드, 배포, 컴파일의 개념 & 차이점 (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 파일을 옮겨둔다
이후 서버 실행
실행창
서버 실행 후 웹 브라우저에서 war 파일의 이름으로 경로를 입력하면 설계했던 홈페이지를 볼 수 있다
애플리케이션들의 경로를 설정하거나 관리를 하려면 localhost:포트번호/manager 로 접속하면 된다
초기 admin의 비밀번호는 1234 이다
'Spring > 공부' 카테고리의 다른 글
스프링 프레임워크 02) 환경 설정 (0) | 2024.04.29 |
---|---|
스프링 프레임워크 01) 프레임워크란 ? (0) | 2024.04.29 |