2010-12-09 2 views
2

Я потратил немало времени на наш текущий процесс сборки, пытаясь вернуть все инкрементное построение обратно в 10-минутный знак (в настоящее время 1 час). Самое большое потребление времени на нашей сборке - это большое количество модульных тестов, которые по той или иной причине занимают довольно много времени для выполнения.Плагин Maven для распространения теста на единицу измерения

Недавно я экспериментировал с распределением выполнения модульных тестов на небольшом числе лезвий. Это увеличило общее время выполнения тестов junit в очень приемлемом диапазоне, но потребовало большого количества ручных сценариев и администрирования в ящике CI, чтобы поддерживать работу тестов. В идеале я хотел бы скомпилировать источник на главном узле, использовать распределенный модуль, например плагин, для совместного запуска модульных тестов, а затем использовать главный узел для упаковки результатов. В настоящее время я не вижу существенных преимуществ использования распределенного компилятора.

Есть ли другие люди, которые распределяют выполнение единичного теста через несколько ящиков? Существуют ли какие-либо плагины (коммерческие или с открытым исходным кодом), которые облегчат управление этим процессом? Любое понимание того, как другие решают (или не решают) эту проблему, будут высоко оценены.

ответ

1

вы можете рассмотреть STAF

или

testng используя вместе с hudson и ведомой функции Хадсона распределять работу.

0

Возможно использовать плагин surefire и перезаписать параметр JVM по умолчанию. Таким образом, вместо этого можно использовать собственный скрипт, который, в свою очередь, разветвит новый контейнер докеров, который будет запускать JVM из контейнера. Контейнер должен иметь доступ к файловой системе хоста для доступа к классам компиляции и другим ресурсам. Я создал небольшое доказательство концептуального проекта, чтобы проиллюстрировать решение с помощью SSHFS.

https://github.com/Jotschi/docker-junit-distribution-test

+0

Обратите внимание, что [ссылка только ответы] (http://meta.stackoverflow.com/tags/link-only-answers/info) не рекомендуется, ТАК ответы должны быть конечной точка искать решение (по сравнению с другой остановкой ссылок, которые со временем устаревают). Пожалуйста, подумайте о добавлении отдельного резюме здесь, сохранив ссылку в качестве ссылки. – kleopatra 2015-09-14 14:52:58