в первую очередь: здесь уже есть несколько похожих вопросов, но ни один из них не может помочь мне решить мою проблему.
Думаю, мне нужна помощь в создании усовершенствованного конвейера CI. Проект, над которым я работаю, разделен на несколько репозиториев, каждый из которых управляет определенным аспектом (веб-приложение, общие методы и т. Д.). В настоящее время я создаю рабочий процесс CI для управления интеграционными тестами в функциональных ветвях. Я подумал о следующем рабочем процессе (и проблемах):
- новая функция разработана в нескольких различных проектах (например, изменения пользовательского интерфейса и функциональные возможности Backend) в соответствующей ветви функций под названием "feature1"
- когда изменения зафиксированы, Jenkins запускается через веб-хук и строит каждую ветвь функции соответственно
- , поэтому мне нужен способ собрать все изменения во всех репозиториях, которые имеют эту точную ветку функции "feature1", и собратьсоответственно, для всех других зависимостей должна использоваться основная ветвь
- количество репозиториев может возрасти в ближайшем будущем, поэтому я не хочу жестко кодировать все URL-адреса репозитория в сценарии конвейера
- каждый репозиторий является проектом maven, поэтому создание ветки объектов и ее установка в локальное репозиторий jenkins перезапишет потенциальный «главный артефакт», поэтому потенциально может повредить зависимости для других репозиториев
Яизо всех сил, чтобы найти наиболее эффективныйи разумная стратегия для управления этой структурой проекта. Возможно, было бы разумно изменить управление версиями Maven, чтобы включить имена веток в тег версии, но это еще больше усложнит управление зависимостями во всех репозиториях.
Если кто-то знает разумное решение этой проблемы или может порекомендовать совершенно другую стратегиюдля решения этой проблемы, пожалуйста, дайте мне знать.