웹개발/깃허브

[에러]Config Client 실행시 Config Server Git Repository를 찾지 못함/ Working tree is not clean 에러 메세지

수제개발자 2019. 4. 15. 16:47

문제상황

Spring Cloud의 Config 서버와 클라이언트, git 저장소를 설정파일 저장소로 쓰는 상황에서

Config Client 구동시 서버에서 설정파일을 못찾는 에러가 발생했다.

http://컨피그서버루트/application/profile 로 GET했을때 콘솔에 working tree is not clean이라는 메세지가 뜨면서 브라우저에는 404가 발생한다.

 

에러메세지

[] 15:48:25 [restartedMain]INFO [o.s.c.c.client.ConfigServicePropertySourceLocator.class] - Fetching config from server at : http://localhost:8999 
[] 15:48:28 [restartedMain]WARN [o.s.c.c.client.ConfigServicePropertySourceLocator.class] - Could not locate PropertySource: 400 null

원인

깃 저장소 디렉토리 생성을 웹에서 GUI로 할 경우

로컬에 저장해놓은 설정파일들과 원격저장소의 워킹트리가 불일치해서 발생하는 것 같다...

깃저장소에서 파일경로가 바뀌는 수정을 할때는 GUI로 하면 안될것같다.

 

 

해결

1 로컬의 설정저장소를 찾는다

설정파일명으로 뒤져서 찾아낸 로컬 저장소

내 컴퓨터를 뒤져서 로컬 저장소를 찾아낸다.

Temp > config-repo-무슨id > 어플리케이션명 으로 되어있다.

 

2 로컬에 원하는 레파지토리를 구성한다.

원하는 대로 꾸며준다

그냥 클릭 복사 붙여넣기 해서 원하는 구조와 파일을 만들어준다.

3 그대로 원격에 커밋, 푸쉬한다.

터미널을 실행해서 깃 원격저장소에 푸쉬한다.

여기까지 하면 원격 저장소의 설정파일에 접근 못하던 문제가 해결된다.

환경변수를 인식할 수 있게된다.

c.c.c.ConfigServicePropertySourceLocator : Fetching config from server at : http://localhost:8999 c.c.c.ConfigServicePropertySourceLocator : Located environment: name=serviceA, profiles=[1,2,3,4,5], label=null, version=314c5d275a736043250da94f2a22a76abfc028f5, state=null

 

4 컨피그 서버 application.yml에서 force-pull을 true 해둔다

force-pull은 컨피그 서버 구동시 원격 저장소의 설정들을 로컬로 끌어오는 기능이다.