-
Spring-boot Profile 도커 Runtime 에 적용하기Spring 2021. 3. 23. 12:36
프로파일을 환경에 맞게 몇 개 미리 만들어 두고 도커를 실행하는 시점에 프로파일을 선택하고 싶었다.
역시 검색하니 쉽게 찾을수 있었다.
나는 로컬/ 뉴질랜드 / 호주 용 이렇게 3개로 구분 하였다.
spring: profiles: local --- spring: profiles: prod-nz --- spring: profiles: prod-au ...
application.yml 파일
도커라이즈 할때
FROM java:8 VOLUME /tmp ADD build/libs/api-0.1.0.jar app.jar RUN bash -c 'touch /app.jar' ENV USE_PROFILE local ENTRYPOINT ["java","-Dspring.profiles.active=${USE_PROFILE}", "-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
Dockerfile 파일
마지막으로 gitlab 에서 도커 run 할때 ( .gitlab-ci.yml )
- docker run -p 8001:8080 -d --restart always -e USE_PROFILE=prod-nz ... 이런식으로
그리고 특정 프로파일에서만 스케줄을 돌리고 싶은 경우는
이런식으로 사용하면 된다.@Component @Profile("prod-nz") public class CronClass { @Scheduled(cron = "0 0 1 * * MON-FRI") public void job1() { } }
와우 잘된다~
참고 자료 : 크론 표현식 https://emunhi.com/view/201807/30140115253
'Spring' 카테고리의 다른 글
셀레니엄 크롬 브라우저 버전 문제 (JAVA) (0) 2023.07.07 Spring-boot , thymeleaf 사용하기 (1) 2019.09.08 spring boot 배너만들기 (0) 2018.07.13 spring-boot (0) 2018.03.26 spring batch (0) 2016.01.13