Продвижение нескольких модулей (интеграция -> этап) в ivy

Ivy отлично подходит для управления зависимостями, но он не предназначен для обработки всего жизненного цикла программного обеспечения во многих модулях. Тем не менее, он есть несколько функций, которые, кажется, поддерживают его (например, статус и ветвь атрибуты ), а также рекламное объявление о лучших практиках чтобы иметь возможность продвигать версии интеграции до этапа или выпуска «с некоторой работой».

К сожалению, я не нашел окончательного руководства по управлению циклом «разработка -> тестирование -> развертывание». Вот некоторые вещи, которые я хочу достижение:

(Учитывая, что разработчики обычно работают со многими модулями в локальной рабочей области)

  1. Dev может локально публиковать изменения в модуле, , чтобы другие модули в рабочей области могли получать обновленные артефакты.
  2. Разработчик может указать версию как «готовую к развертыванию для тестирования» с помощью одной команды.
  3. Тестировщик может назначить версию как «готов к работе» с помощью одной команды.
  4. Dev может пересобрать любую версию из исходного кода , и соответствующие зависимости подобраны правильно (также известные как повторяемые сборки).

В некоторых вещах я честно ясно:

  • Статус ревизии должен использоваться, чтобы указать, предназначена ли эта ревизия только для разработки, готова к тестированию или готова к производству
  • Ветвь ] должно быть достаточно для обработки различных ветвей проекта

Вот что я пытаюсь решить:

Как продвигать сборки интеграции

Допустим, у меня есть эти модули, проверенные в моем рабочем пространстве:

Module dependency chart

Теперь я ' Я доволен модулем а и решил опубликовать веху, используя проверенные версии в моем рабочем пространстве. В репо должно произойти следующее:

  • e-1.0-RC1 публикуется
  • d-1.1-RC2 публикуется со ссылкой на e-1.0-RC1 как на публикуется зависимость
  • c-2.0-RC1 со ссылкой на d-1.1-RC2 , поскольку публикуется зависимость
  • b-3.3-RC1 со ссылкой на e- 1.0-RC1 как зависимость
  • Наконец, a-7.1-RC2 публикуется со ссылкой на c-2.0-RC1 и b-3.3-RC1 в качестве зависимостей.

Если я попытаюсь использовать для этого свой собственный, я, вероятно, закончу управление рабочим пространством, поиск и замену ivy.xml и т. Д. Прежде чем я открою эту банку с червями, я бы хотел чтобы узнать мнения. Как лучше всего с этим справиться?

26
задан Alexis Métaireau 12 August 2011 в 17:01
поделиться