Spring Cloud Config Server는 스프링 부트로 만든 REST 기반의 애플리케이션입니다. 그리고 분산 시스템에서 환경설정을 외부로 분리하여 관리할 수 있는 기능을 제공해줍니다. Config Server를 사용하여 모든 환경(개발, 테스트, 프로덕션 등)에 대한 어플리케이션들의 속성을 한 곳에서 관리할 수 있습니다.
Spring Cloud Config Server
Config Client(for Spring Boot 어플리케이션)
의존성 설정
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
</dependency>
애플리케이션 프로퍼티 설정(application.yml)
spring:
application:
name: {application.name}
profiles:
active: git
cloud:
config:
server:
git:
uri: {remote.property.source.uri}
username: {username}
password: {password}
@EnableConfigServer 어노테이션 추가
@SpringBootApplication
@EnableConfigServer
public class PhotoAppApiConfigServerApplication {
public static void main(String[] args) {
SpringApplication.run(PhotoAppApiConfigServerApplication.class, args);
}
}
의존성 설정
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
Remote Git Repository에 프로퍼티 파일 생성
부트스트래핑 설정(bootstrap.yml)
spring:
application:
name: {application.name}
profiles:
active: {profile}
cloud:
config:
uri: {config.server.uri}
spring.application.name
은 원격 저장소에 있는 파일명이랑 동일해야 합니다.spring.cloud.config.server.git.searchPaths
를 추가해서 경로를 지정해주면 됩니다.