Есть ли какие-либо конфигурации / плагин Jenkins, которые запускают тестовые сценарии только для измененных файлов в проектах Java?

#java #maven #jenkins #build

#java #maven #дженкинс #сборка

Вопрос:

Проект, над которым я работаю, состоит из 600 модульных тестовых примеров и около 1300 файлов Java. В настоящее время мы используем Jenkins для создания окончательного образа docker для этой службы. Для завершения сборки требуется около 25 минут, что слишком много. У нас также есть много других сервисов, и это делает невозможным запуск в локальных системах. Мои вопросы здесь в том, есть ли какой-либо плагин или конфигурация Jenkins, которая запускала бы только тестовые примеры только измененных файлов и сокращала общее время сборки?

Комментарии:

1. Пожалуйста, обратите внимание, что такие запросы не входят в сферу действия этого сообщества: мы не рекомендуем библиотеки, инструменты, …

2. Изменения в классе могут нарушать работу других классов и их тестов. Итак, если вы протестируете только измененные классы, вы не получите гарантии, что все работает.

3. Рассмотрено создание образа сначала без тестов, а затем только продвигать его, если тесты проходят

4. @Danesh Changer, у вас могут быть динамические отношения между классами, которые нельзя найти с помощью статических анализаторов. Что-то, что может произойти только «во время выполнения» (например, внедрение зависимостей на основе Java-отражения). Итак, я не уверен, что то, что вы ищете, вообще возможно.

5. @Gmugra (редактировать: исправил имя) Согласен. В принципе, плагин / инструмент должен создавать график затронутых классов и запускать тесты только для них.