GitLab CI: зависимость загрузки Spring от другого проекта - PullRequest
2 голосов
/ 12 марта 2020

У меня есть кластеризованная архитектура приложения, где 3 из моих основных служб используют артефакт зависимости (пусть его называют общими), который содержит модальные файлы и другие утилиты, используемые другими 3 службами.

В настоящее время, У меня есть все 3 весенние загрузочные приложения, развернутые на k8s через Gitlab CI через артефакт для управления изображениями.

Теперь, каждый раз, когда я делаю изменения в своей службе общих, мне приходится менять версию общих в pom. xml (чтобы он не конфликтовал с предыдущим образом артефакта), а также измените pom-версии моих 3 других сервисов, которые зависят от этой новой версии, и pu sh всех 4 (первые общие * pu sh так что новый образ сборки доступен в артефакте, а затем в других 3) сервисах.

Есть ли лучший способ управлять этим. Я бы предпочел, чтобы мои 3 службы могли получить последнюю распространенную версию и добавить ее в мою версию pom

1 Ответ

0 голосов
/ 20 марта 2020

В настоящее время это поддерживается в Reliza Hub (отказ от ответственности: я разрабатываю проект).

Рабочий процесс для получения последней версии документирован здесь (см. Рабочий процесс 2. Получите последнюю версию Проекта или продукта).

Идея заключается в следующем:

  1. вы определяете проект для своей общей библиотеки и настраиваете из GitLab CI автоматическую потоковую передачу метаданных сборки в Reliza Hub при каждой сборке. используя Reliza Client .
  2. Автоматизация версий c также может поддерживаться через Reliza Hub (это означает, что Hub будет увеличивать версии для вас при каждой сборке на основе выбранной вами схемы управления версиями) - вам нужно использовать команду getversion Reliza Client для этого.
  3. Затем вы можете использовать этот автоматический c прирост версии для обновления версии в вашем pom. xml во время сборки. Таким образом, этот процесс будет полностью автоматизирован.
  4. Как только это будет сделано, в ваших конвейерах CI для каждой из 3 зависимых служб вы включите вызов Reliza Hub с помощью команды getlatestrelease Reliza Client для ваша общая библиотека. Этот вызов вернет вам все метаданные для последнего выпуска общей библиотеки, включая ее версию.
  5. Затем вы можете подключить эту версию к файлам pom зависимых служб.

Надеюсь, это поможет.

...