2015-05-26 2 views
2

У меня есть копание, но я не могу найти элегантное решение для того, что я хочу сделать, поэтому я надеюсь, что некоторые из вас могут предложить некоторые предложения. Я также задал этот вопрос на форуме дженкинсов, но не принимал участие.Результаты работы с динамическими группировками дженкинсов

Я хочу иметь возможность запускать родительское задание jenkins с параметрами, которые будут отправляться на запущенные задания, и затем группировать все результаты задания в динамическом представлении.

Используемый прецедент, который я пытаюсь укрыть: у нас есть 10+ разных заданий jenkins, которые запускают набор тестов, я хочу просто управлять запуском всех этих заданий для работы с определенной ветвью кода на конкретном тестовую среду и посмотреть результаты (в одном представлении) только для этого запуска. Усложнение - это одно и то же задание Jenkin, которое может быть запущено против другой среды выпуска или тестирования, и я не хочу видеть эти результаты.

У нас уже есть родительская работа, запускающая дочерние элементы с параметрами, но я не могу понять, как лучше всего группировать результаты. Я знаю, что могу создавать фильтры для представлений, но имя заданий jenkins статично, и я хочу, чтобы представление было создано во время выполнения, без необходимости его самостоятельно создавать. Мы используем плагин «Set Build description», поэтому я могу создать представление, которое фильтрует уникальный дескриптор сборки или что-то подобное. Но, похоже, не существует способа создавать представления с фильтром программно.

Другие соображения будут очищены. Я бы не хотел, чтобы взгляды на протяжении многих лет забивали взгляды, поэтому мне нужен способ очистить и старые прогоны.

Любые идеи, чтобы оттолкнуть меня?

+0

Вы хотите сгруппировать результаты нескольких различных исполнений в одном отчете? Это то, что вы ищете? – Waman

ответ

0

Для группировки отчетов вы можете просто использовать простую логику вместо того, чтобы находить плагин Jenkins. Вы можете поместить все файлы результатов (желательно XML) в общий каталог/файловый сервер и в конце выполнения всех наборов (заданий) вы можете запустить общее задание, которое будет обрабатывать все файлы XML и генерировать общий отчет. При этом вы можете иметь «консолидированные + индивидуальные отчеты». Я сделал это, используя плагин Perf Publisher, который обрабатывает XML-файлы и дает красивый агрегированный отчет.

Job1 ----> Report1 ----> Переместить отчет папки отчетов

Job2 ----> Report2 ----> Переместить отчет папки отчетов

Job3 --- -> Report3 ----> Переместить отчет папки с отчетом

.

.

.

Работа п ----> Сообщить о п ----> Переместить отчет папки отчетов

Таким образом, после завершения работы п, спускового задания отчета, который будет работать на папке «отчет», содержащую все отчеты!

Надеюсь, это поможет!

+0

Спасибо за эту идею, к сожалению, она не фиксирует достаточно того, что я хочу. Мы создаем много залога во время прогона, который я также хочу сгруппировать в конце пакетного запуска, а не только для отчета. – Shem

0

У меня есть частичное решение: Все задания принимают параметр VIEW_IDENTIFIER. Родительская работа запускается с установленным уникальным VIEW_IDENTIFIER, и все дочерние задания передаются им при запуске. После выполнения всех заданий я редактирую Jenkins View, у которого есть фильтр заданий -> Фильтр заданных параметров -> Имя = VIEW_IDENTIFIER, Value = мой уникальный идентификатор, установленный для запуска '

Это приводит к тому, что все задания выполняются с этим уникальный идентификатор, сгруппированный в одном представлении для просмотра.

Жаль, что мне нужно выполнить ручную редактирование фильтра заданий.

Смежные вопросы