2012-02-16 3 views
0

У нас есть интерфейс jRuby (поддерживается с использованием git), интегрированный с бэкэнд Scala (поддерживается с помощью Artifactory). Бэкэндовые файлы jar расположены в/lib/jars.Насколько хорош субмодуль git здесь?

На данный момент, когда обновляется баночка, мы загружаем эту банку и копируем ее в/lib/jars. Мы не добавляем jar в git (пробел, скорость и т. Д.), И поэтому мы не можем отслеживать, какая банка была отправлена ​​с определенным коммандой frontend.

То, что мы хотим достичь его следующим образом,

  1. Frontend на v1.1, Backend в v1
  2. Frontend на v1.1, Backend идет к v2
  3. Frontend теперь в v1.2 (сила, пользователю обновить банку), в Backend v2
  4. Фронтенд идет к v2.2, Backend на v2
  5. Frontend на v2.2, Backend идет к v3
  6. Frontend теперь на v2.3 (п Пользователь Orce обновить банку), Backend на v3

Всякий раз, когда Backend обновляется, есть способ сказать внешний интерфейс Dev, что бэкенд был обновлен, и нужно сделать что-то вроде «мерзавца тянуть» к получить последнюю банку, которая была нажата backend dev в Artifactory.

Возможное решение

==========================

1) Backend DEV строит банку, толкает Artifactory

2) этот процесс сборки также обновляет номер версии банки в конфигурации/jars.rb в приложении внешнего интерфейса

3) Frontend мерзавец тянуть загружает последнюю банку (но не добавляет эту банку на коммят), если есть изменение в config/jars.rb

==========================

** В конечном счете, проблема с отслеживанием, какая версия баночке пошла в частности frontend commit, не сохраняя эту банку в frontend repo (так как она уже существует в artifactory) **

Работает ли подмодуль git в этом случае? Какие-либо предложения?

+0

Я смущен. Вы не можете посмотреть config/jars.rb, чтобы узнать, какая версия идет с этим фиксатором? –

+0

Я предложил (3 шага) как возможное решение. Извините за неясность – Rahul

ответ

1

Поскольку я понял ваш вопрос, функция интеграции сборки Artifactory должна выполнять эту работу. Это позволит вам проследить каждую построенную банку обратно с фиксацией git, которая вызвала сборку.

0

Вы можете написать простой Artifactory plugin, который перехватывает событие afterCreate(), чтобы обновить конфигурацию frontend со ссылками на недавно развернутые бэкэндовые банки. Плагины являются частью Artifactory Pro.