-
Spring Profile + Maven Profile + WAR파일 배포Server/Spring Boots 2020. 10. 21. 14:46
Maven Profile 세팅
<profiles> <profile> <id>dev</id> <activation> <activeByDefault>true</activeByDefault> </activation> <properties> <activatedProperties>dev</activatedProperties> </properties> </profile> <profile> <id>local</id> <properties> <activatedProperties>local</activatedProperties> </properties> </profile> <profile> <id>live</id> <properties> <activatedProperties>live</activatedProperties> </properties> </profile> </profiles>
스프링 프로필 세팅
한가지 중요한 것은 Maven Profile이랑 Spring Profile은 다르다는 것이다.
Maven Profile은 Build 시점에서 사용되는 profile이고, spring.profiles.active는 Run Time에서 쓰이는 프로필이다. 때문에 이를 JAVA_OPTS 에 넣어서 런타임 시 실행하게 하는 방법이 보통 많이 쓰이고 있다.
clean package -Plocal
빌드 시 Maven Profile 설정
export JAVA_OPTS="$JAVA_OPTS -Dspring.profiles.active=dev"
Runtime용 스프링 profile 설정
JAVA_OPTS를 수정하는 스크립트는 여러 곳에서 주입할 수 있지만, 크게 쓰이는 곳은 2곳이다.
- 톰캣 경로 내 bin 폴더의 setenv.sh 로 저장
- /etc/profile.d/ 내에 sh 파일로 저장
전자는 톰캣 기동 시에, 후자는 리눅스 기동 시에 해당 스크립트를 실행하게 된다.
'Server > Spring Boots' 카테고리의 다른 글
Apache James + AWS EC2 메일 서버 구축 (1) 2021.06.30 Spring Security + CustomAuthenticationFilter 만들기 (0) 2021.05.27 Spring Boot Maven Multi Module 개발환경 설정하기 (0) 2020.11.11 [Spring boot] Class path contains multiple SLF4J bindings 에러 (0) 2020.10.21