본문 바로가기

개발(합니다)/Java&Spring

[spring boot 설정하기-16] spring cloud config(3) git 연동 설정 및 테스트 소스

반응형

1,2 포스팅에서 cloud config의 설정 및 암호화에 대해 포스팅했고

이번에는 git연동에 대한 포스팅을 합니다.


1. git 아이디와 비밀번호를 이용한 인증

spring:
  application:
    name: configserver
  #  profiles:
  #    active: composite
  cloud:
    config:
      server:
        encrypt:
          enabled: false # Config Server에서 복호화 비화성화
        git:
#          uri: file:///D:/__otrodevym/git/spring-cloud-config-repo
          uri: https://github.com/otrodevym/spring-cloud-config-repo.git
          username: otrodevym
          password:

2. git ssh 키를 이용한 인증

2-1. 키 발행

window 기준으로 com창에 아래 명령어를 실행시킵니다.
이메일 주소는 본인걸로 하고 이후에 나오는 질문은 입력을하셔도 비워두셔도 됩니다.

ssh-keygen -m PEM -t rsa -b 4096 -C "your email" -f config-server.id\_rsa

.pub가 붙은 파일은 공개키 파일이고 붙지 않은 파일은 개인키 파일입니다.

개인키는 노출 되지 않도록 합니다.

외부 시스템에 전달하는건 공개키입니다.

2-2. GitHub의 Deploy key에 공개키(.pub)등록

저장소 -> Settings -> Deploy keys 등록

2-3. bootstrap.yml 설정

ssh연결 시 clone url을 ssh로 받아와야 합니다.

spring:
  application:
    name: configserver
  #  profiles:
  #    active: composite
  cloud:
    config:
      server:
        encrypt:
          enabled: false # Config Server에서 복호화 비화성화
        git:
#          uri: file:///D:/__otrodevym/git/spring-cloud-config-repo
#          uri: https://github.com/otrodevym/spring-cloud-config-repo.git
#          username: otrodevym
#          password:
          ignore-local-ssh-settings: true
          uri: git@github.com:otrodevym/spring-cloud-config-repo.git
          private-key: |
                      -----BEGIN RSA PRIVATE KEY-----
                      MIIJKAIBAAKCAgEAvAFToUY4/x1f0RJneCruJlJpEJRL7hSBmcH/kYvj8oZKa+V1
                      beKE9+kgL2z9jBPTQNaQxLxS6r+r6+41QM4aApIhD9eMQxMO3NyNznzKfcR+Tl9d
                      CR7CX1IRB54+AipX/W93XXm9989HOU9CeW7P+VRszWo9tH/+Yxkb5zyXN33IfwoP
                      +j76YiW6ym4PbSvz2rjBVb2EM08yN/UMui/wff/o6LgwwzewDNK+bUKfqSNViWvL
                      ...
                      -----END RSA PRIVATE KEY-----

#      label: master
#        composite:
#          - type: native
#            search-locations: file:D:/__otrodevym/git/spring-cloud-config-repo/
#        bootstrap: true

encrypt:
  key: my_config_key

2-4. config-server -> /member-service/default 조회

반응형