Я пытаюсь понять все последствия переключения наших java-проектов с политики моментальных снимков / выпусков для создания продвижения.
Один очевидный шаг заключается в том, что каждая сборка в конечном итоге создает артефакт, который может идти вплоть до производственной среды, поэтому больше нет Snapshot. Но тогда как мне управлять ссылкой из проекта на другие артефакты, которые могут или не могут переходить на prod?
Мне было трудно найти ценную информацию по этому конкретному вопросу. Конечно, о продвижении сборки говорят много, но управление зависимостями в свете перехода к продвижению сборки имеет меньшую прозрачность.
Я вижу два варианта:
- Можно зависеть только от артефактов, которые ранее были продвинуты в производственную среду
- Когда один зависит от других артефактов, встроенный артефакт может переходить только в последнюю среду своих зависимостей. То есть, если я зависел от артефакта, которому разрешено идти на тестирование, а не от продукта, то моя сборка не сможет перейти на продукт
Существуют ли отраслевые стандарты по этой теме? Или лучшие практики?
Большое спасибо за вашу помощь:)
редактирование:
Мы размещаем в Артефакторе три вида артефактов:
Мы разворачиваем EAR на серверах JEE. Наши библиотеки и общедоступные уровни развернуты в Artifactory и упакованы в EAR, поэтому они не развертываются непосредственно в контейнерах JEE.
Один проект строит несколько модулей, и все они упакованы в EAR вместе с его зависимостями. Один проект может зависеть от модуля другого проекта, и вот где он становится сложным ...