Jenkins. Какие плагины Вы используете для прогона автоматических тестов?

Меня интересует вопрос, какими плагинами вы пользуетесь для того чтобы настроить ваши прогоны в дженкинсе?

Мой список плагинов такой:

  1. Ant Plugin - Ant поддержка
  2. ChuckNorris Plugin - чакнорис показывает свой вид, если что-то не так
  3. Dashboard View - для создания дашборда с графиками и дополнительными таблицами результатов
  4. Email Extension Plugin - более удобная отправка емейлов
  5. Extra Columns Plugin - возможность добавлять в таблицы дополнительные колонки
  6. Git Client Plugin и Git Plugin - для поддержки git
  7. Green Balls - озелененние удачных билдов, подефолту цвет синий
  8. HTML Publisher plugin - публикация и ссылка на сформированный HTML репорт
  9. inheritance-plugin - создание однотипных задач с возмжностью множественного изменения всех одновременно
  10. Jenkins Violations plugin - статистический анализатор кода и отображение результатов
  11. Violation Columns(List View Columns) - добавляет колонку в список по соответствующему плагину
  12. Maven Project Plugin - поддержка маven
  13. next-executions - добавляет панель с списком задач, которые скоро начнутся
  14. Progress Bar Column Plugin - показывает прогресс бар выполнения таблице билдов
  15. Python Plugin - запуск python скрипта в качестве шага
  16. Warnings Plug-in - анализатор кода и визуализация результатов
  17. xUnit plugin - запуск и подключение результатов с возможностью задать threshold для unstable и failed билдов

Ну и выглядит все это дело вот так вот:

А какие плагины вы используете и для чего?

Также было бы интересно посмотреть внешний вид вашего настроенного дженкинса, если вы его видоизменили, например, как я это сделал.

Если надо расписать что делает какой-то плагин и как он настраивается, пишите. Буду отвечать отдельными комментариями.

2 лайка
  1. Thucydides Jenkins Plugin - Фукидит репорты
  2. Xvfb plugin - Иксы) маст хев для запуска на Убунте( в остальных .unix не знаю)

этих двух с головой хватает)

Совершенно не маст хев, а вещь которая порой рождает больше проблем чем решает.

Из неперечисленного:

  • Active Directory plugin - возможность авторизации с win domain креденшалами.
  • Config File Provider Plugin - возможность предустановки различных конфигов по типу settings.xml.
  • Parameterized Trigger Plugin - позволяет создавать параметризованные билды.
  • SSH Credentials Plugin - позволяет хранить SSH креденшалы.
  • Build Trigger Badge Plugin - монтирует к джобам иконки с тултипами об экзекьюторах (можно вставить во view).
  • Performance Plugin - отчеты производительности. генерим jtl формат, из бенчмарк тулы
  • Gatling Plugin - отчет производительности(бэнчмарк) заточенный под гатлинг
  • SauceLabs Plugin - чуток красоты, от кроссконфигурационных тестов
  • Plot Plugin - генерация специфических трендов, от билда к билду
  • Github Pull Request Builder Plugin - тестим пул реквесты
  • Build Failure Analyzer - собираем статистику причин падения интеграционных тестов
  • JUnit Attachments Plugin - атачим картинки или артефакты к тестам (никак не доберусь до Allure)
  • Amazon EC2 Plugin, Least load plugin - простое создание слейвов на амазоне, и их использование по требованию
  • Matrix Project Plugin - запуск тестов против разных окружений
  • SBT plugin - билд тул для Scala
  • Rebuilder Plugin - проще запускать джобу с теми же параметрами
  • Console Column Plugin - проще увидеть консоль
  • FlowDock Plugin - сброс инфы о некоторых билдах в флоудок
1 лайк

А можешь чуток описать, как используются эти плагины у вас и показать как они выглядят?

Plot Plugin

засовываем потребляемое цпу c конкретного процесса на образцовом тесте на зафиксированной конфигурации.
Пики откатывали, падения вниз радостно принимали (после анализа).

Failure Analyzer

When in job found known failures:

В самой джобе

Подсвеченный индикатор в логах

И для полной картинки индикатор который сработал

Индикаторы нужно настраивать, но настроив быстро можно понять: упал стэнд (значит вообще можно джобу не смотреть), есть падения по таймауту (возможно замедление работы системы), наиболее типичные ошибки (для нас - пора таки подрефакторить).
Т.е. позволяет типичные ошибки(текст), которые иногда нужно вылавливать глазами, делать индикаторами.

1 лайк

Для фанов продуктов Atlassian, в частности - HipChat, есть соответствующий плагин:
HipChat Plugin - шлет нотификейшены от джобов прямо в комнаты чата, позволяя тем самым быстро реагировать на события.

Я вот как раз хотел еще настроить skype для нотификации упавших тестов instant-messaging и Skype notifier но как оказалось надо сделать немного больше чем установка. Потому еще не могу таким похвастаться.

А вообще нашел хороший проект для написания скайп бота на Python Sevabot - Friendly Skype robot documentation — Sevabot - Skype bot 1.0 documentation но пока что руки еще до него не дошли. Хотя там есть уже рецептик для дженкинса sevabot/jenkins.rst at master · opensourcehacker/sevabot · GitHub

@polusok Подскажите пожалуйста, какой из плагинов позволяет добавить переход к консоли (напротив каждой сборки справа)?

Extra Columns Plugin - возможность добавлять в таблицы дополнительные колонки

Туда же можно добавить Progress Bar Column Plugin - показывает прогресс бар выполнения таблице билдов

Тоже оказался удобной штукой

1 лайк

Возможно кто-то знает какой-то плагин для того что бы можно было быстро очистить историю и артефакты билда.
Или проще просто склонировать билд а старый удалить?

Насколько я помню, была такая фича Discard Old Builds https://wiki.jenkins-ci.org/display/JENKINS/Discard+Old+Build+plugin может быть она подойдет? Просто настраиваем опции, сохраняем, и потом проверяем чтобы все удалилось.

1 лайк

А не подскажите есть ли плагин что бы можно било добавлять описание для теста или как то помечать тест метками?
И интересует как-то можно скипать тесты на уровне jenkins и отображать в дженкинсе заскипаные тесты?

На уровне Jenkins делать это совершенно неправильно, так что вряд ли такой плагин есть

То же самое - Jenkins не является инструментом выполнения тестов, он является инструментом запуска задач по различным критериям и отображения результатов их выполнения. Все тонкие настройки, о которых ты спрашиваешь, должны решаться на других, более низких уровнях.

1 лайк

Подскажите такой момент. Имеется один Hudson, который физически находится за границей, и есть Hudson, который расположен в соседней комнате. Необходимо сделать так, чтобы один хадсон видел другой, а именно настроить зависимую сборку, чтобы по окончании сборки на удаленном хадсоне, стартанули тесты на локальном хадсоне.

Таким не занимался, но вызов зависимой сборки можно реализовать через вызов REST API соответствующего CI.

https://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API

Подскажите, удалось?
У меня подобная ситуация.