Конфигурация Spring Cloud с github

У меня только что возникла проблема при использовании конфигурации Spring Cloud с github. Я не очень хорошо говорю по-английски, надеюсь, я смог бы четко объяснить эту проблему. И думает. вы, ребята, за то, что это прочитали.

Проблема связана с Spring Cloud Config с github, и это произошло, когда я добавил еще несколько сверток и файлов конфигурации в репозиторий, где хранятся все мои файлы конфигурации облака.

Во-первых, я установил uri, searchPaths, имя пользователя и пароль в файле cloud.config.server.git, принадлежащем серверу конфигурации.

Затем я помещаю все свои файлы конфигурации в github. Я вызвал родительский репозиторий ConfigRepo, и в этом репозитории у меня есть две папки с именами A и B. Конструкция просто выглядит так.

-ConfigRepo   
  -A
    -A.yml   
  -B
    -B.yml

Наконец, я установил имя приложения других приложений в их bootstrap.yml, что означает A и B.

После этого я запустил свои приложения. Все клиентские серверы могли найти сервер конфигурации и получить правильный yml-файл конфигурации по URL-адресу. Например, клиент A получает свои конфигурации из

github.com/user/ConfigRepo/A/A.yml

Но поскольку мне нужно было добавить новое приложение C, я создал новую папку C для хранения и сохранения файла конфигурации приложения C и отправил его в github.

Я закончил настройку приложения C, как указано выше, и запустил его. Но я обнаружил, что URL-адрес, представляющий конфигурационный файл, изменился. Я имею в виду, что это должно быть

github.com/user/ConfigRepo/C/C.yml

Но на самом деле URL-адрес github изменился на

github.com/user/ConfigRepo/tree/master/C/C.yml

Хуже того, изменился не только URL-адрес, представляющий файл конфигурации C, но и все URL-адреса, представляющие файл конфигурации в ConfigRepo.

И независимо от того, как я меняю uri или searchPaths в cloud.config.server.git, журнал клиентского сервера показывает мне, что имя mapPropertySource расположенного источника свойств всегда равно

github.com/user/ConfigRepo/C/C.yml

В результате я не могу получить никаких конфигураций, кроме null, поэтому все приложения не могут быть запущены, даже включая A и B, которые можно было запустить до того, как я отправил новый файл конфигурации в github.

Итак, что мне делать? Как заставить github избавиться от / tree / master в URL-адресе? Или как настроить мой конфигурационный сервер для поддержки моего проекта?

Еще раз спасибо!

Извини, это моя вина. Spring Cloud Config выполнил свою работу хорошо, в моем yml-файле была какая-то орфографическая ошибка. Spring Cloud Config может получать информацию из github независимо от того, содержит ли URL-адрес часть «дерево / мастер», и нет необходимости регистрировать это часть.Спасибо еще раз!

AokoQin 13.11.2018 03:09
Редкие достижения на Github ✨
Редкие достижения на Github ✨
Редкая коллекция доступна в профиле на GitHub ✨
0
1
73
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Мы делаем проект микросервиса и используем приведенную ниже конфигурацию для получения конфигурации из GitHub. вам нужно добавить метку в качестве основного, чтобы получить конфигурацию.

spring:
  application:
    name: ####
  profiles:
    active: ####
  cloud:
    enable: true
    config:
      uri: ${CONFIG_SERVER_URL}
      failFast: true
      retry:
        maxAttempts: 20
      label: master
      profile: ######

Привет, братан, спасибо за ответ. Я думал, что ярлык "master" предоставляется Spring по умолчанию, поэтому я не добавил его в конфигурацию моего клиентского сервера. Но после того, как я изменил его, как вы и сказали, он все еще не может работать. Кажется, он все еще пытается отправить запрос на " github.com/user/ConfigRepo/C/C.yml", но этот URL-адрес на самом деле не существует. По какой-то причине после добавления еще нескольких файлов в этот репозиторий моего github URL-адрес изменился на "github.com/ пользователь / ConfigRepo / tree / master / C / C.yml ". Другими словами, прежде чем я добавляю этот файл в репозиторий, URL-адрес не содержал части «дерево / мастер», и все приложение работало нормально ...

AokoQin 12.11.2018 11:02

Еще раз проверил свой код, это была моя ошибка. В моем yml файле была орфографическая ошибка, но все мое внимание было приковано к журналу url. Еще раз спасибо, братан.

AokoQin 13.11.2018 03:12

Другие вопросы по теме