하위 태스크 1
프로파일 개념 복습
dev/prod 프로파일 개념 정리
프로파일은 Spring Boot 설정을 분리해 관리하는 기능이다. 애플리케이션이 실행되는 환경에 따라 데이터베이스 연결 정보나 포트 등을 다르게 적용하기 위해 사용한다.
하위 태스크 3
application-dev/prod 생성
프로파일별 설정 파일 생성
공통/환경별 설정 분리
공통 설정과 환경별 설정을 구분
application-dev.properties, application-pord.properties 프로퍼티 파일을 생성하고 application.properties에 공통 설정만 남긴다.
application-dev.properties는 개발 환경에서의 설정이며 H2 데이터베이스를 사용한다.
server.port=<포트 번호>: 애플리케이션이 실행될 포트를 지정한다.spring.jpa.hibernate.ddl-auto=none: Hibernate가 엔티티 클래스를 보고 자동으로 테이블을 생성 및 수정하는 기능을 끈다.spring.sql.init.mode=always: 애플리케이션을 시작할 때schema.sql과data.sql을 항상 실행한다.spring.session.jdbc.initialize-schema=always: Spring Session을 사용하기 위한 테이블을 시작할 때마다 자동으로 생성한다.
server.port=8080
spring.datasource.url=jdbc:h2:mem:demo
spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=
spring.jpa.hibernate.ddl-auto=none
spring.sql.init.mode=always
spring.session.jdbc.initialize-schema=always
spring.h2.console.enabled=true
logging.level.org.hibernate.SQL=DEBUGapplication-prod.properties는 운영 환경에서의 설정이며 MySQL 데이터베이스를 사용한다.
server.port=8090
spring.datasource.url=jdbc:mysql://localhost:3306/demo
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=0000
spring.jpa.hibernate.ddl-auto=none
spring.sql.init.mode=never
spring.session.jdbc.initialize-schema=always
logging.level.org.hibernate.SQL=INFOapplication.properties는 모든 프로파일에서 사용하는 공통 설정을 담도록 수정한다.
spring.profiles.active: 기본 활성 프로파일을dev로 설정한다.
spring.application.name=demo
spring.profiles.active=dev하위 태스크 4
dev/prod 실행 테스트
—spring.profiles.active 로 각각 실행
dev 프로파일로 애플리케이션을 실행한다.
.\gradlew.bat bootRun --args='--spring.profiles.active=dev'로그에서 dev 프로파일이 활성화된 것을 확인할 수 있다.

prod 프로파일로 애플리케이션을 실행한다.
.\gradlew.bat bootRun --args='--spring.profiles.active=prod'로그에서 prod 프로파일이 활성화된 것을 확인할 수 있다.

하위 태스크 5
Gradle 빌드 수행
./gradlew build 로 JAR 생성
애플리케이션을 빌드한다.
./gradlew build
하위 태스크 6
JAR 실행 + 프로파일
java -jar … —spring.profiles.active=… 실행
java 명령어로 빌드된 JAR 파일을 실행한다.
java -jar build/libs/bbs-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod로그에서 prod 프로파일이 활성화된 것을 확인할 수 있다.
