Воспроизведение муравьиных "мишеней" в Maven
Я знаю, что этот вопрос был задан, но все ответы, которые я прочитал, не дали мне совета, который мне нужен, поэтому извиняюсь, если этот ответ где-то похоронен, и я не нашел его.
Я развертываю нашу систему с использованием Maven, и для полного развертывания потребуется несколько шагов по порядку. Если в средний шаг внесено изменение, необходимо повторно развернуть только этот шаг и его зависимые шаги. Этапы занимают много времени, и поэтому развертывание всего с нуля (в настоящее время ~35 минут) очень болезненно. (Для тех, кто заинтересован, существует удаленное развертывание базы данных, за которым следует создание и развертывание 2 базовых образов докеров и нескольких образов / контейнеров докеров.)
Шаги развертывания в основном "скопировать эти файлы на удаленный сервер с помощью scp, а затем выполнить эту команду через sshexec". Таким образом, в настоящее время это длинная задача муравья с этими шагами.
Если бы я использовал Ant правильно, я бы мог указать цели и сделать это таким образом. Я не знаком с Maven, но я не знаю правильного идиоматического способа справиться с такого рода процессами. Я видел, как кто-то предлагал использовать профили, и это кажется наиболее подходящим решением, однако есть один шаг, который я не смог повторить.
Скажем, у меня есть 5 шагов, шаг 1, 2, 3, 4 и 5. 5 зависит от 4, 4 на 3 и т. Д. Я могу иметь шаг профиля для каждого и запустить mvn -P 1,2,3,4,5
чтобы получить то, что мне нужно. Если я только внесу изменение в 3, то я мог бы запустить mvn -P 3,4,5
Моя проблема, однако, состоит в том, что есть еще много шагов, которые не так явно пронумерованы, и это движущаяся цель в данный момент для других разработчиков, когда мы создаем наш продукт.
Есть ли способ, используя профили или иным образом, для меня и моих разработчиков в основном сказать mvn -P stepX
и профиль, настроенный на шаге "x", чтобы сказать "запустить профиль X, затем Y, затем Z"?
Большое спасибо, Митч.