6. 코프링 코드는 어떻게 빌드되고 배포되는가
Gradle
- 빌드 자동화 도구
- 프로젝트 만들고, 관리하는 것을 도와줌
왜 필요한가
- 수십개의 라이브러리가 필요함 (Spring Bot, Spring Web)
- 라이브러리들은 어디에있나?
- Maven Central Repositiry (자바 생태계의 npm같은 존재)
- Gradle 이 이걸 자동으로 해준다.
해주는 일
- 의존성 관리
- 필요한 라이브러리들을 자동으로 다운로드
- 버전 충돌 해결
- 빌드
- 코드를 컴파일해서 실행 가능한 파일로 만들기
- 테스트 실행
- 작성된 테스트코드 자동실행
- 패키징
- Jar 파일로 만들어서 배포준비
빌드 vs 패키징
- 빌드
- 소스코드 컴파일
- 리소스 복사
- 테스트 실행
- 패키징
- 최종 산출물 생성
- 패키징
- 빌드의 마지막 단계 중 하나
- 컴파일된 클래스들과 리소스를 하나로 묶는 것
- Jar 같은 파일로 만들기
Jar 파일은 어디로 가나요
- 서버/배포환경/ 도커컨테이너