В настоящее время моя команда рассматривает возможность разделения нашего единого процесса сборки CI на более упорядоченный многоэтапный процесс, чтобы ускорить базовую обратную связь при сборке и изолировать различные проблемы CI. Мы думали, что каждая стадия должна существовать в Хадсоне как отдельная сборка с правильной целью maven или выполнением плагина maven, а затем связать их вместе с помощью хуков после сборки Hudson.
Однако, насколько мне известно, Maven как инструмент сборки требует, чтобы любая выполняемая фаза жизненного цикла автоматически строилась на каждой предшествующей фазе жизненного цикла. Это создает ряд проблем, наиболее значимой из которых является то, что maven воссоздает ресурсы сборки при каждом отдельном вызове и не использует ресурсы предыдущего этапа. Это не только нарушает согласованность жизненного цикла сборки, но и приводит к гораздо большему количеству ненужных накладных расходов на обработку.
Есть ли способ выполнить конвейеризацию с помощью CI, используя Maven? Предполагая, что есть, есть ли способ сообщить Хадсону об использовании ресурсов, созданных на предыдущем этапе, на следующем?