У нас есть внешний интерфейс jRuby (поддерживается с помощью Git), интегрированный с бэкэндом Scala (поддерживается с помощью Artifactory).Внутренние JAR-файлы находятся в /lib/jars
.
. На данный момент, когда обновляется JAR-файл, мы загружаем этот JAR-файл и копируем его в /lib/jars
.Мы не добавляем файл JAR в Git (пространство, скорость и т. Д.) И поэтому не можем отследить, какой файл JAR был отправлен с определенным коммитом внешнего интерфейса.
Мы хотим добиться этого следующим образом:
- Фронтенд в v1.1, бэкэнд в v1
- Фронтенд в v1.1, бэкэнд переходит в v2
- Фронтенд теперь в v1.2 (вынуждает пользователя обновить JARфайл), бэкэнд в v2
- Фронтенд переходит в v2.2, бэкэнд в v2
- Фронтенд в v2.2, бэкэнд переходит в v3
- Фронтенд теперь в v2.3(вынудите пользователя обновить файл JAR), backend на v3
Всякий раз, когда сервер обновляется, есть ли способ сообщить разработчику внешнего интерфейса, что сервер обновлен, и что-то нужно сделатьнапример, "git pull", чтобы получить последний файл JAR, который был добавлен бэкэнд-разработчиком в Artifactory?
Возможное решение
==========================
Бэкэнд-разработчик собирает разработчика и отправляет в Artifactory
Это сборка прocess также обновляет номер версии файла JAR в config / jars.rb в приложении внешнего интерфейса.
Fittend Git pull загружает последний файл JAR (но не добавляет этот файл JARв коммит), если есть изменения в config/jars.rb
.
=========================
** В конечном итоге проблема заключается в отслеживании того, какая версия файла JAR была отправлена в конкретном коммите внешнего интерфейса без сохранения этого файла JAR в репозитории внешнего интерфейса (поскольку он уже существует в Artifactory) **
В этом случае работает подмодуль Git?Есть предложения?