:build
태스크를 실행하면 Gradle에서 빌드와 관련된 모든 task 실행, 실행 가능한 Jar 파일 이외에 Plain Jar 파일을 하나 더 생성함.
:bootJar
는 빌드와 관련된 모든 task를 실행하지 않고, 애플리케이션의 실행가능한 Jar(Executable Jar) 파일을 생성하기 위한 task만 실행함.
java -jar (Jar 파일명).jar
입력✔ 프로파일 (Profile) 적용
빌드된 애플리케이션 실행 파일을 서버 환경에서 운영한마녀 인메모리 DB를 사용하면 안된다.
- 프로파일을 적용해서 애플리케이션이 빌드 될 때, 로컬환경에서는 로컬환경의 DB 설정 정보를 실행 파일에 포함하고, 서버 환경일 경우에는 서버 환경의 DB 설정 정보를 실행 파일에 포함하도록 한다.
- application.yml 이외에 파일 두개 추가
- 각각 파일 구성
application.yml
파일은 주로 애플리케이션의 실행환경에 상관없이 공통적으로 적용할 수 있는 프로퍼티 설정 가능
application-local.yml
파일은 로컬 환경에서 사용하는 정보
application-server.yml
파일은 서버 환경에서 사용하는 정보 (실제 서버나 AWS같은 클라우드에서 실행 시켜야 할 때)
- 대표적인 서버 환경의 설정 정보는 DB 접속 정보
✔ IntelliJ IDE에서 프로파일 적용
1. 애플리케이션 실행 파일이 위치한 셀렉트 박스 클릭 후 Edit Configurations 클릭
2. Program arguments 필드에--spring.profiles.active=local
입력해서 활성화 지정
여기서의 local 은 application-local.yml 파일에서 local을 가르킴
- 스프링에서 프로파일을 지정하는 가장 손쉬운 방법은
-
를 기준으로 프로파일명을 yml파일 이름안에 포함하는것
- 프로파일 정상 적용 확인
✔ 빌드된 실행 파일에 프로파일 적용
- 프로파일 기능은 빌드된 실행 파일을 어느 환경에서 실행할 지 여부를 결정할 때 주로 사용함.
- 빌드 된 실행 파일에 프로파일을 적용해서 실행
터미널에서java -jar section3-week4-build-0.0.1-SNAPSHOT.jar
뒤에 똑같이--spring.profiles.active=local
설정 추가
- 프로파일 애너테이션 활용 (개발환경 / 운영환경 구분 가능)
✔ 전통적인 배포 방법
✔ 클라우드 서비스를 위한 배포 방법
PaaS(Platform as a Service)
$ cf push acloudyspringtime -p target/app-0.0.1-SNAPSHOT.jar
IaaS(Infrastructure as a Service)
CI / CD 플랫폼을 사용한 배포
참고 :https://gyuwon95.tistory.com/167
1. 그래들 의존성 추가
implementation 'mysql:mysql-connector-java'
2. application.yml 설정