최대 1 분 소요


이번에는 Git에 연동하지 않고 Local 파일 시스템에 있는 구성 정보를 사용하는 방법에 대해 알아보자.
(Native File Repository는 로컬에 있는 디렉토리를 말한다.)

로컬에 디렉토리 생성

디렉토리 이름은 native-file-repo라고 지정했다.
native-file-repo는 깃과 연동할 필요가 없고, 아래 파일들이 들어있다.
스크린샷 2022-10-05 오후 4 21 36

application.yml

token:
  expiration_time: 864000000
  secret: user_token_native_application

gateway:
  ip: 127.0.0.1


ecommerce.yml

token:
  expiration_time: 864000000
  secret: user_token_native_ecommerce

gateway:
  ip: 127.0.0.1


user-service.yml

token:
  expiration_time: 864000000
  secret: user_token_native_user_service

gateway:
  ip: 127.0.0.1


이전과 마찬가지로 native file repository에서도 profiles를 붙여 사용할 수도 있다.
ecommerce-dev.yml

token:
  expiration_time: 864000000
  secret: user_token_native_ecommerce_dev

gateway:
  ip: 127.0.0.1

config-service

application.yml

server:
  port: 8888

spring:
  application:
    name: config-service
  profiles:
    active: native # 🌟 native repository 사용
  cloud:
    config:
      server:
        native:
          search-locations: file://${user.home}/study/msa/native-file-repo # 🌟 추가
        git:
          uri: https://github.com/minju412/spring-cloud-config


참고
MacOS는 file:// 처럼 슬래시를 두 개 쓰고, Windows는 file:/// 처럼 슬래시를 세 개 쓴다.

MacOS) file://${user.home}/study/msa/native-file-rep
Windows) file:///${user.home}/study/msa/native-file-rep

테스트

application

http://localhost:8888/application/native로 접속해 application.yml 파일의 내용을 확인해보자.
스크린샷 2022-10-05 오후 3 59 59

ecommerce

이번에는 http://localhost:8888/ecommerce/native로 접속해 ecommerce.yml 파일의 내용을 확인해보자.
스크린샷 2022-10-05 오후 4 01 06
이때는 아래에 보면 default 파일인 application.yml의 정보도 같이 가져온다.

user-service

마지막으로 http://localhost:8888/user-service/native로 접속해 user-service.yml 파일의 내용을 확인해보자.
스크린샷 2022-10-05 오후 4 01 41

ecommerce-dev

마지막으로 http://localhost:8888/ecommerce/dev로 접속해 ecommerce-dev.yml 파일의 내용을 확인해보자.
스크린샷 2022-10-05 오후 4 16 47
위 사진에서처럼, native 레포지토리에서 각각의 profiles에 맞는 구성 정보를 가져왔음을 알 수 있다.



💛 개인 공부 기록용 블로그입니다. 👻

맨 위로 이동하기