Spring Cloud - 23. Spring Cloud Config Server 만들기

목차

Spring Cloud Config Server 의존성 추가

// 외부 Config를 가져오기 위한 Dependency 설정
implementation 'org.springframework.cloud:spring-cloud-config-server'
implementation 'org.springframework.cloud:spring-cloud-starter-bootstrap'

Config Server 만들기

@EnableConfigServer 어노테이션을 추가하여 Config Server를 만들어 준다.

@SpringBootApplication
@EnableConfigServer
public class ConfigServiceApplication {

public static void main(String[] args) {
SpringApplication.run(ConfigServiceApplication.class, args);
}
}

Config 파일 읽어오기

Config 파일 위치에 따라서 Spring Cloud Config Server 에서 Config 파일을 읽어오는 방식이 달라진다.

Local 에 저장된 Config 파일 읽어오기

server:
port:8888

spring:
application:
name: config-service

cloud:
config:
server:
git:
uri: file:///Users/dongwoo-yang/dev/study/Spring-Cloud/gateway/git-local-repository
server:
port: 8888

spring:
application:
name: config-service
profiles:
active: native
cloud:
config:
server:
native:
search-locations: file://${user.home}/dev/study/Spring-Cloud/gateway/git-local-repository

Git Repository 로 부터 Config 파일 읽어오기

server:
port: 8888

spring:
application:
name: config-service

cloud:
config:
server:
git:
uri: https://github.com/ckck803/spring-cloud-config

Git Privagte Repository 로 부터 Config 파일 읽어오기

  • username, password 를 이용한 인증
spring:
cloud:
config:
server:
git:
uri: https://github.com/spring-cloud-samples/config-repo
username: trolley
password: strongpassword
  • ssh key 를 이용한 인증
spring:
cloud:
config:
server:
git:
uri: git@gitserver.com:team/repo1.git
ignoreLocalSshSettings: true
hostKey: someHostKey # hostKey 가 없을 경우 사용할 필요가 없음
hostKeyAlgorithm: ssh-rsa # hostKey 가 없을 경우 사용할 필요가 없음
privateKey: |
-----BEGIN RSA PRIVATE KEY-----
MIIEpgIBAAKCAQEAx4UbaDzY5xjW6hc9jwN0mX33XpTDVW9WqHp5AKaRbtAC3DqX
IXFMPgw3K45jxRb93f8tv9vL3rD9CUG1Gv4FM+o7ds7FRES5RTjv2RT/JVNJCoqF
....
-----END RSA PRIVATE KEY-----
Share