IntelliJ IDE를 이용한 빌드
우측 상단 [Gradle] 윈도우 탭 클릭
Tasks → Build → bootJar (or build) 더블 클릭으로 실행
- build
- assemble, check와 같은 빌드와 관련된 모든 task 실행
- 실행 가능한 Jar 파일 외의 plain Jar 파일을 하나 더 생성
- bootJar
- 애플리케이션의 실행 가능한 Jar(Executable Jar)파일 생성을 위한 task만 실행
- build
Gradle Task를 이용한 빌드
생성한 템플릿 프로젝트가 위치한 디렉토리 경로로 이동
Gradle task를 CLI 명령으로 입력할 수 있는 콘솔창을 템플릿 프로젝트 root 경로에서 오픈 2-1. Windows의 cmd, Git Bash, Windows Power Shell, 터미널 모두 사용 가능
- 아래 명령어를 입력하여 애플리케이션 빌드
1 2 3 4
// Windows 터미널 PS D:\파일경로\프로젝트> .\gradlew bootJar // Git Bash MINGW64 /파일경로/프로젝트 (main) $ ./gradlew build
- 빌드 정상 종료 시
build.libs
디렉토리에 Jar 파일 확인 가능
애플리케이션 실행
- Jar 파일이 있는 디렉토리 경로로 이동
- 터미널 창 오픈 후 아래 명령어 입력
1
java -jar Jar_파일명.jar
🔗Profile 적용
- 🔗Profile
- 애플리케이션 빌드 시, 로컬 환경에서는 로컬 환경의 DB 설정정보를 실행 파일에 포함하고, 서버 환경에서는 서버 환경의 DB 설정 정보를 실행파일에 포함하도록 할 수 있다. </br>
application.yml
파일 외의application-local.yml
,application-server.yml
파일 추가application.yml
: 애플리케이션 실행 환경 상관 없이 공통적으로 적용할 프로퍼티 적용application-local.yml
: 로컬 환경에서 사용하는 정보application-server.yml
: 서버 환경에서 사용하는 정보
- IntelliJ IDE 에서 프로파일 적용
- program arguments 입력 시 :
--spring.profiles.active=적용_프로파일_이름
- ex
--spring.profiles.active=local
- ex
- VM options 입력 시 :
-Dspring.profiles.active=적용_프로파일_이름
- ex
-Dspring.profiles.active=local
- ex
- IntelliJ의 activeProfiles 입력 시 :
적용_프로파일_이름
- ex
local
- ex
- CLI 환경에서 프로파일 적용
- Jar 파일이 위치한 디렉토리에서 터미널 오픈 후 아래 명령어 입력
1
java -jar [파일명].jar --spring.profiles.active=[적용_프로파일_이름]`
- 프로파일 적용 확인 로그 ``` …
[main] c.c.Application : The following 1 profile is active: local
… ```
- 🔗Profile
애플리케이션 배포
전통적인 배포 방법 : scp, sftp 같은 표준 유닉스 툴을 사용하여 서버로 전송
클라우드 서비스를 위한 배포 방법
- Paas(Platform as a Service)
- Cloud Foundry, Heroku
- Cloud Foundry : 대표적 Paas 제공 기업
- Cloud Foundry 에서 제공하는 cf command line 툴을 사용하여 배포 가능
1
$ cf push acloudysspringtime -p target/app-0.0.1-SNAPSHOT.jar
- IaaS(Infrastructure as a Service)
- AWS Elastic Beanstalk, AWS Container Registry, AWS Code Deploy, Azure Spring Cloud, Azure App Service, Google Cloud
- CI/CD 플랫폼을 사용한 배포
- Github Actions, Circle CI 같은 CI / CD 플랫폼을 이용해 AWS, Azure 같은 클라우드 서비스에 Executable Jar 파일을 자동 배포하도록 구성 가능
- Paas(Platform as a Service)
클라우드 서비스 추가 공부 Cloud Computing : 🔗 Deploy : 🔗 AWS : 🔗