Внезапное увеличение времени сборки Maven работы в Дженкинс
У меня есть настройка сборки Maven в Jenkins со следующими заметными конфигами:
- It is a multi-module job with 75 modules
- It is built incrementally (build only changed modules)
- Automatic artifact archiving is disabled
Время сборки составляет около 20 минут. Однако с некоторого времени время сборки резко увеличилось до 1 часа 15 минут. Работа все еще строится постепенно, и текущий номер сборки составляет около 1450. Я сохраняю только 3 старые сборки. Мой вопрос: почему такой большой прирост времени сборки?
Вот что я пробовал и наблюдал:
Maven job создает отпечатки пальцев по умолчанию. При большом количестве сборок (в настоящее время 1450) могут быть огромные данные отпечатков пальцев, к которым обращаются во время сборки и, следовательно, увеличивают общее время сборки. Однако я очистил все имеющиеся отпечатки пальцев и попытался пересобрать проект. Это не повлияло на время сборки (до завершения оставалось 1 час).
Я попытался сделать полную сборку, а не инкрементную сборку, чтобы узнать, тратится ли основное время на определение модулей для сборки. Это также не помогло, и полная сборка была завершена за 1 час 20 минут.
Я также попытался построить работу на отдельном подчиненном устройстве, если проблема была связана с доступностью ресурсов. Это не повлияло на время сборки.
Единственное, что сработало, - это переименование самой работы. После переименования сборка завершается снова примерно через 20 минут. Но я не уверен, что это идеальное решение. Также я не понимаю логику такого подхода к переименованию работы.
Может ли кто-нибудь подсказать, что происходит внутри сборки Maven, чтобы увеличить время сборки после большого числа сборок? Я использую Jenkins v1.560 и плагин проекта maven v2.0. Обновление плагина Maven или Jenkins для меня сейчас не вариант.
Обновление 1
Согласно анализу результатов компоновки, основное время компоновки тратится на этапы "POMS Parsing" (около 30 минут) и "Сбор метаданных" (около 20 минут). У кого-нибудь есть идеи относительно того, что именно происходит во время этих двух шагов?