Translate

понеділок, 21 вересня 2015 р.

Start Jenkins task after push to Git/Gitlab

Часто монотонні кроки можна просто автоматизувати і не виконувати їх щоразу. Скажімо, після кожного коміту в репозиторій чи коміту з певним тегом можна запускати певну задачу чи виливати свіжий код проекту. Насправді, це не так складно, як може здаватись на перший погляд.

Розглянемо конкретний випадок: будемо автоматично запускати Jenkins задачу після кожного коміту в GitLab репозиторій. GitLab - це менеджмент-панель на базі Git і приведена лише як приклад.

Jenkins "із коробки" підтримує таку можливість, проте не від анонімного користувача. Тому скористаємось іншим рішенням - плагіном Build Token Root. Спочатку встановимо його: Manage Jenkins > Manage Plugins > Available > Build Authorization Token Root Plugin:


Як варіант, звісно, можна скористатись Gitlab Hook плагіном, проте він працює лише зі стандартним SCM Git і при бажанні змінити останній на, наприклад, Multiple SCMs Plugin Jenkins, буде втрачена можливість користуватись першим плагіном. Також я вбачаю використання плагіну Build Token Root більш безпечним.