source

Spring Cloud Config 서버에 특정 브랜치에서 구성을 체크아웃하도록 요청하려면 어떻게 해야 합니까?

itover 2023. 4. 2. 10:22
반응형

Spring Cloud Config 서버에 특정 브랜치에서 구성을 체크아웃하도록 요청하려면 어떻게 해야 합니까?

Spring cloud configuration application.yml:

spring: 
  application: 
    name: configserver
  cloud: 
    config: 
      server: 
        git: 
          uri: https://xyz@bitbucket.org/xyz/microservices-configs.git
          username: xyz
          password: xyz
          basedir: target/configs
server:
  port: 8881  

다음은 나의bootstrap.yml사용자 마이크로 서비스:

spring: 
  application: 
    name: userservice
  cloud: 
    config: 
      uri: http://localhost:8881/  

시나리오 - 1
브라우저에서 config server를 누르면 다음과 같이 됩니다.
http://localhost:8881/development/userservice-development.yml
파일도 제대로 되고요. 그리고 제가 봤을 때.basedir예를 들어, 타겟/구성, 다음과 같습니다.

- userservice.yml  
- gateway.yml  

바로 제가 원하던 대로, 이 두 개의 파일을 개발부에만 추가했기 때문입니다.

시나리오 - 2
다음 명령을 사용하여 사용자 서비스 마이크로 서비스 프로젝트를 실행하는 경우:
mvn clean spring-boot:run -Dspring.profiles.active=development

git에서 올바른 파일을 가져오지만 마스터 브랜치에서는 체크 아웃합니다.하지만 기대했던 대로 개발 브랜치에서는 체크 아웃을 할 수 없습니다.(참고로 마스터 브랜치에서는 개발 yml과 실가동 yml을 모두 가지고 있습니다.

여기서 문제는 config server를 어떻게 사용할 것인가 하는 것입니다.그 특정 브랜치에서만 yml을 가져오도록 설정할 수 있는 설정이 있습니까?설명서에 따르면 기본 라벨이 마스터이기 때문에 라벨을 설정해야 한다고 생각합니다.위의 시나리오에서 라벨 설정 방법을 알려주시겠습니까?

매뉴얼에 따르면 Configuration클라이언트에 설정하는 설정은 다음과 같습니다.

spring.cloud.config.label=mybranch

어디에mybranchgit repo의 기존 브랜치입니다.

클라이언트가 라벨을 지정하지 않을 경우 컨피규레이션서버가 사용하는 디폴트브런치(일반적으로 Git라벨)를 속성을 통해 지정할 수 있습니다.spring.cloud.config.server.git.default-label혹시 이게 당신이 원하는 건가요?확실히 문제 해결이 되네요!

yml 파일에서 브랜치만 사용하는 경우 다음을 구성합니다.

spring:
  cloud:
    config:
      server:
        git: 
          uri: https://gitlab.com/somerepo.git
          username: someuser
          password: somepass
          default-label: branchname

프로파일을 사용하여 환경을 분리하도록 설계된 구성 서버.예:

/{application}/{profile}[/{label}]
/{application}-{profile}.yml
/{label}/{application}-{profile}.yml
/{application}-{profile}.properties
/{label}/{application}-{profile}.properties

브런치로 인해 설정의 불일치가 발생합니다.

컨피규레이션서버의 개념은 12 팩터 config(http://12factor.net/config )에 근거하고 있습니다.

자세한 이유는 확인하세요.

언급URL : https://stackoverflow.com/questions/34195002/how-to-ask-spring-cloud-config-server-to-checkout-configuration-from-specific-br

반응형