작성
·
165
·
수정됨
0
config-service 서버 profile 설정 질문드립니다.
예를들어 profile3가지로 나눌 경우
application.yml
application-dev.yml
application-prod.yml
"prod" 에서만 git 경로를 참고하고
나머지 두개는 물리 경로를 지정하려 합니다.
bootstrap에 설정한 encrypt.key 도 profile별로 변경하여 사용하고 싶은데 profile 설정이 안되내요...
수업내용 참고하여 설정시 yml 파일에
spring.profiles.active=native
이게 없을경우 에러가 납니다.
해결 방법이 있을지 문의드립니다.
에러로그는 아래와 같습니다.
Description:
Invalid config server configuration.
Action:
If you are using the git profile, you need to set a Git URI in your configuration. If you have set spring.cloud.config.server.bootstrap=true, you need to use a composite configuration.
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
질문하신 config-service 서버의 profile 설정에 대하여 각각 다른 환경(profie)에서 서로 다른 방식으로 설정 파일을 참조하는 방법(예: prod 환경에서는 Git 경로 참고, 나머지 환경에서는 물리 경로 사용)에 대해서 문의해주셨습니다.
해당 질문에 대한 구체적인 해결 방법을 포함한 질문과 유사한 내용은 다음 링크에서 확인할 수 있습니다.
“config server 설정파일관리 폴더 설정”에서는 spring cloud config server에서 다양한 환경에 따른 설정 파일 관리에 대한 논의가 있습니다. 특히, spring.profiles.active
를 통한 환경별 구분과 Git 및 native 설정에 대한 해결 방법을 다루고 있습니다.
“windows 에서 경로 설정에 대해 질문이 있습니다.”에서는 윈도우 환경에서의 경로 설정 문제를 다루고 있으나, 설정 파일에 대한 지정 방식 및 관련 문제 해결에 대한 아이디어를 얻을 수 있습니다.
해결 방안:
config-service의 application.yml 파일에서는 profiles
구성을 통해 활성 profile을 지정할 수 있지만, spring.profiles.active
에 여러 환경을 구분하여 관리하기 위해서는 spring.cloud.config.server.git.uri
와 같은 구체적인 설정이 필요하며, profile별로 다른 저장소 혹은 경로를 지정할 수 있는 방법을 모색해야 합니다.
예를 들어, application-prod.yml
에서는 Git 리포지토리를 지정하고, 다른 profile 설정 파일에서는 로컬 파일 시스템 경로를 지정하는 방식을 사용할 수 있습니다. 하지만, 질문하신 에러 메시지와 같이, 적절한 URI나 경로 설정 없이 profile만으로 구분하려 하면 문제가 발생할 수 있습니다. 따라서, 각 profile별로 적절한 경로나 URI 설정을 포함시켜주어야 합니다.
아래는 단순한 형태의 예시입니다:
spring:
profiles:
active: native
cloud:
config:
server:
native:
search-locations: file:///path/to/local/config
---
spring:
profiles: prod
cloud:
config:
server:
git:
uri: https://your-git-repository-url
이러한 설정 방법은 profile별로 서로 다른 설정 소스를 활용할 수 있게 해줍니다. 주의해야 할 점은 각각의 profile 설정 파일에 올바른 경로나 URI가 명시되어야 한다는 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.