Знаю, он не идеальный, но по крайней мере я попытаюсь рассказать, как его к этому приблизить.
В одну заметку всё не войдёт, поэтому сначала план:
- Постановка задачи — описание той конфигурации проектов с которой мы будем работать, целей и проблем
- Как настроить мавен для разработки в рамках нашей задачи
- Как настроить CI/CD (билды, релизы, деплоймент)
- Нерешенные проблемы
Задача
Итак, начнем с постановки задачи. Предположим у нас есть группа людей (компания, фирма, кружок), которые разрабатывают проекты на Java. При этом у них есть как проекты с открытым кодом (OSS), так и проекты с закрытым кодом. Проекты, назовём их внутренние, разрабатываются независимо друг от друга, но между ними есть зависимости. Что хочется:
- Централизованное управление зависимостями на внешние библиотеки
- OSS проекты в центральном мавен репозитории
- Закрытые проекты в своём мавен репозитории.
- «Простой» релиз внутренних проектов с обновлением зависимости в зависимых проектах.
- Максимальная автоматизация всех хотелок.
Читать полностью »