개발환경과 배포환경에서 비밀정보 관리하기 - nhnacademy-be10-WannaB/wannab-wiki GitHub Wiki
1. resources/properties 폴더에 env.properties 파일 만들기
EUREKA_USERNAME=wannab
EUREKA_PASSWORD=nhnteam05
ADMIN_NAME=wannab
ADMIN_PASSWORD=nhnteam05
2. application.yml 에서 해당 설정 파일을 참조해서 사용하기
spring:
application:
name: eureka
profiles:
active: peer1
lifecycle:
timeout-per-shutdown-phase: 15s
config:
import: optional:classpath:properties/env.properties
security:
user:
name: ${ADMIN_NAME}
password: ${ADMIN_PASSWORD}
server:
shutdown: graceful
eureka:
client:
register-with-eureka: false
fetch-registry: false
---
spring:
config:
activate:
on-profile: peer1
server:
port: 10380
eureka:
client:
service-url:
defaultZone: http://${EUREKA_USERNAME}:${EUREKA_PASSWORD}@220.67.216.11:10381/eureka
instance:
hostname: eureka-peer1
---
spring:
config:
activate:
on-profile: peer2
server:
port: 10381
eureka:
client:
service-url:
defaultZone: http://${EUREKA_USERNAME}:${EUREKA_PASSWORD}@220.67.216.11:10380/eureka
instance:
hostname: eureka-peer2
참조하는 방법 : spring.config.import로 해당 파일 참조하기
spring:
config:
import: optional:classpath:properties/env.properties
그 이후 ${} 이렇게 해서 변수 사용하기
user:
name: ${ADMIN_NAME}
password: ${ADMIN_PASSWORD}
eureka:
client:
service-url:
defaultZone: http://${EUREKA_USERNAME}:${EUREKA_PASSWORD}@220.67.216.11:10380/eureka
그 다음 gitignore에 등록하기
# 설정 파일
src/main/resources/properties/*.properties
근데 꼭 이렇게 안하고 다른 방법도 있어요
application-dev.yml 는
spring:
application:
name: eureka
profiles:
active: peer1
lifecycle:
timeout-per-shutdown-phase: 30s
config:
import: optional:classpath:properties/env.properties
application-prod.yml은
spring:
security:
user:
name: 진짜 관리자 아이디
password: 진짜 관리자 비번
- 이렇게 하고 dev만 git에 올려서 사용하면 됩니당