본문 바로가기

배포

application.yml 관리 전략

복잡한 application.yml 내 개발 환경 설정 사항을 사용 db에 따라, dev와 local로 나눠 관리하기 편하게 진행

  • 원본 application.yml
    • 설정을 보면 local 환경에서는 inmemory 방식의 h2 db를 통해서 개발을 진행했었음
    • 추가적으로 aws rds mysql db를 만들어 db 서버를 구축하여 dev 환경으로 설정하려함
spring:
  h2:
    console:
      enabled: true
  datasource:
    #url: jdbc:h2:mem:db;MODE=MYSQL
    #username: sa
    #password:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://db-mysql.cyg0hh5az4ou.eu-west-1.rds.amazonaws.com:3306/sparta7?serverTimezone=Asia/Seoul&characterEncoding=UTF-8
    username: admin
    password: hanghae7

  jpa:
    properties:
      hibernate:
        show_sql: true
        format_sql: true
        hbm2ddl:
          auto: update
        ddl_auto: update

    open-in-view: false
  mvc:
    pathmatch:
      matching-strategy: ant_path_matcher

jwt:
  secret:
    key: 7ZWt7ZW0OTntmZTsnbTtjIXtlZzqta3snYTrhIjrqLjshLjqs4TroZzrgpjslYTqsIDsnpDtm4zrpa3tlZzqsJzrsJzsnpDrpbzrp4zrk6TslrTqsIDsnpA=

 

  • yml 관리 전략
  • 원본 application.yml 을 dev와 local로 나눔

 

1.아래는 수정한 application.yml 

#application.yml 수정본
spring:
  profiles:
    group:
      local:
        - common
      dev:
        - common

2. application-common.yml

spring:
  config:
    activate:
      on-profile: common
  jpa:
    properties:
      hibernate:
        show_sql: true
        format_sql: true
        hbm2ddl:
          auto: update
    open-in-view: false
  mvc:
    pathmatch:
      matching-strategy: ant_path_matcher

jwt:
  secret:
    key: 7ZWt7ZW0OTntmZTsnbTtjIXtlZzqta3snYTrhIjrqLjshLjqs4TroZzrgpjslYTqsIDsnpDtm4zrpa3tlZzqsJzrsJzsnpDrpbzrp4zrk6TslrTqsIDsnpA=

3. application-dev.yml

 

spring:
  config:
    activate:
      on-profile: dev
  datasource:
    url: jdbc:mysql://db-mysql.cyg0hh5az4ou.eu-west-1.rds.amazonaws.com:3306/sparta7?serverTimezone=Asia/Seoul&characterEncoding=UTF-8
    username: admin
    password: hanghae7
    driver-class-name: com.mysql.cj.jdbc.Driver

4. application-local.yml

spring:
  config:
    activate:
      on-profile: local
  datasource:
    url: jdbc:h2:mem:db;MODE=MYSQL
    username: sa
    password:
  h2:
    console:
      enabled: true

5. 이후 Edit Configuration에서 추가 설정사항 진행

→ dev, local에 대해서 spring boot run Configurations을 추가해줘야함

6. 개발 환경을 선택해 사용 할 수 있음

→ local, dev, 기존 , 이렇게 세가지 run Configurations 을 선택해서 개발환경을 설정할 수 있음