Ivy отлично подходит для управления зависимостями, но он не предназначен для обработки всего жизненного цикла программного обеспечения во многих модулях. Тем не менее, он есть несколько функций, которые, кажется, поддерживают его (например, статус
и ветвь
атрибуты ), а также рекламное объявление о лучших практиках чтобы иметь возможность продвигать версии интеграции до этапа или выпуска «с некоторой работой».
К сожалению, я не нашел окончательного руководства по управлению циклом «разработка -> тестирование -> развертывание». Вот некоторые вещи, которые я хочу достижение:
(Учитывая, что разработчики обычно работают со многими модулями в локальной рабочей области)
В некоторых вещах я честно ясно:
должен использоваться, чтобы указать, предназначена ли эта ревизия только для разработки, готова к тестированию или готова к производству
] должно быть достаточно для обработки различных ветвей проекта Вот что я пытаюсь решить:
Допустим, у меня есть эти модули, проверенные в моем рабочем пространстве:
Теперь я ' Я доволен модулем а и решил опубликовать веху, используя проверенные версии в моем рабочем пространстве. В репо должно произойти следующее:
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 и т. Д. Прежде чем я открою эту банку с червями, я бы хотел чтобы узнать мнения. Как лучше всего с этим справиться?