Тестирование кода перед коммитом с помощью Jenkins и IDE от Jetbrains (IDEA, PhpStorm…)

в 6:11, , рубрики: idea, Jenkins, phpstorm, Программирование, метки: , ,

Всем привет!

В этой статье я хочу расказать о настройке Jenkins'а и практически любой IDE от Jetbrains для так называемого Pre-Tested Commit. Pre-Tested Commit — это процесс тестирования изменённого кода перед комитом, в котором разработчик на основе локальных изменений формирует diff, загружает его в Jenkins и проверяет что билд проекта с его изменениями проходит успешно. После этого разработчик фиксирует изменения в репозитории.

Начнём с настройки Jenkins. Для этого нам понадобится Patch Parameter Plugin.

Устанавливаем его в Jenkins.

Тестирование кода перед коммитом с помощью Jenkins и IDE от Jetbrains (IDEA, PhpStorm...)

После установки плагина настраиваем конкретную джобу для возможности передавать в неё патч с изменениями.

Тестирование кода перед коммитом с помощью Jenkins и IDE от Jetbrains (IDEA, PhpStorm...)

Обратите внимания на настройку «Check-out Strategy». Перед каждым новым билдом нам нужно откатывать пришедшие с патчем изменения с помощью «svn revert».

После настройки джобы мы можем загрузить патч прямо через интерфейс Jenkins'а.

Тестирование кода перед коммитом с помощью Jenkins и IDE от Jetbrains (IDEA, PhpStorm...)

Но это не очень удобно, поэтому мы пойдём дальше и настроим возможность запускать билды с изменениями прямо из IDE. Для этого нам понадобится плагин Jenkins Control Plugin с поддержкой Patch Parameter Plugin.

Скачиваем его отсюда и устанавливаем в IDE.

Тестирование кода перед коммитом с помощью Jenkins и IDE от Jetbrains (IDEA, PhpStorm...)

После установки идём в настройки плагина.

Тестирование кода перед коммитом с помощью Jenkins и IDE от Jetbrains (IDEA, PhpStorm...)

В настройках устанавливаем адрес Jenkins'а и суффикс, добавляемый к пути файлов в diff'е. Обновление списка джобов рекомендую установить в 1 минуту для оперативности оповещения о результатах билда.

Тестирование кода перед коммитом с помощью Jenkins и IDE от Jetbrains (IDEA, PhpStorm...)

Всё! Теперь мы можем запускать билды с локальными изменениями прямо из IDE.

Через загрузку файла патча.

Тестирование кода перед коммитом с помощью Jenkins и IDE от Jetbrains (IDEA, PhpStorm...)

Или сразу на основе Changelist'а создавать патч и запускать с ним билд.

Тестирование кода перед коммитом с помощью Jenkins и IDE от Jetbrains (IDEA, PhpStorm...)

Статус билда отображается рядом с именем Changelist'а.

Тестирование кода перед коммитом с помощью Jenkins и IDE от Jetbrains (IDEA, PhpStorm...)

Спасибо за внимание и стабильных билдов! =)

Автор: nyver

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js