Поддерживать файл, который существует в нескольких хранилищах - PullRequest
0 голосов
/ 26 сентября 2018

У нас есть gradle.properties , которые существуют в 15 репозиториях на микросервисах.Если нам (devops) нужно изменить свойство, нам нужно пройти через все эти микросервисы, зафиксировать изменения и нажать кнопку.Как бороться с этим техническим кошмаром?

Обратите внимание, что поля в gradle.properties не являются конфигурациями внутри application.properties или yaml, которые можно централизовать с помощью сервера конфигурации.

1 Ответ

0 голосов
/ 26 сентября 2018

У нас было аналогичное требование в моей компании: например, настройка URL-адреса нашего внутреннего хранилища в центральном месте, а не дублирование этого URL во всех repositories {} блоках каждого проекта.

Для реализации этого мы использовали Gardle Wrapper функция вместе с Init Script функция:

  • мы реализовали Init Script, который отвечает за установку некоторых общих свойств (URL репо и т. Д...)
  • мы упаковали пользовательский дистрибутив Gradle, включающий этот скрипт инициализации, в каталог GRADLE_HOME/init.d/
  • . Все наши проекты настроены на использование Gradle Wrapper с --gradle-distribution-url, указывающим на наш пользовательскийраспределение.

Пример сценария инициализации, который устанавливает одно свойство:

$ GRADLE_HOME / init.d / init-properties.gradle

 rootProject{ p ->
      p.ext.artifactoryUrl = 'https://mycompany.artifactory.com'
 }

EDIT : Существует пример проекта, поставляемого с Gradle, который объясняет, как создать пользовательский дистрибутив: см. https://github.com/gradle/gradle/tree/master/subprojects/docs/src/samples/customDistribution

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...