Gymterview
middle

Какие плагины Jenkins наиболее часто используются

Плагины Jenkins — это модули расширения, добавляющие функциональность к базовой платформе. Jenkins содержит более 1800 плагинов, покрывающих задачи от интеграции с Git до отправки уведомлений в Telegram.

Сборка и управление пайплайнами

  • Pipeline — поддержка декларативных и скриптовых пайплайнов (базовый плагин).
  • Pipeline: Stage View — визуализация стадий пайплайна в виде таблицы.
  • Blue Ocean — современный UI для визуализации и редактирования пайплайнов.
  • Multibranch Pipeline — автоматическое создание пайплайнов для каждой ветки.
  • Job DSL — описание джобов как кода на Groovy DSL.

Контроль версий

  • Git — интеграция с Git (клонирование, checkout, отслеживание изменений).
  • GitHub / GitLab / Bitbucket — интеграция с платформами хостинга кода (webhooks, статусы PR).
  • Generic Webhook Trigger — обработка вебхуков от различных систем.

Сборка Java

  • Maven Integration — поддержка Maven (автоматическое обнаружение POM, публикация артефактов).
  • Gradle — поддержка Gradle.
  • Config File Provider — управление конфигурационными файлами (например, settings.xml для Maven).

Тестирование и качество

  • JUnit — публикация результатов JUnit-тестов с трендами и графиками.
  • JaCoCo — отчеты о покрытии кода тестами.
  • SonarQube Scanner — интеграция со статическим анализом SonarQube.

Артефакты и деплой

  • Nexus Artifact Uploader — загрузка артефактов в Nexus.
  • Docker Pipeline — работа с Docker из пайплайна (docker.build(), docker.withRegistry()).
  • SSH Agent — работа с SSH-ключами.
  • Publish Over SSH — деплой файлов на удаленные серверы по SSH.

Безопасность и управление

  • Credentials Binding — безопасное использование секретов в пайплайнах.
  • Role-based Authorization Strategy — управление правами на основе ролей (RBAC).
  • LDAP — аутентификация через корпоративный LDAP/Active Directory.
  • Audit Trail — журналирование действий пользователей.

Уведомления

  • Email Extension — расширенные email-уведомления с шаблонами.
  • Slack Notification — уведомления в Slack.
  • Telegram Bot — уведомления в Telegram.

Рекомендуемый минимальный набор для Java-проекта

Категория Плагин
Пайплайн Pipeline, Multibranch Pipeline
Git Git, GitHub/GitLab
Сборка Maven Integration, Config File Provider
Тесты JUnit, JaCoCo
Качество SonarQube Scanner
Артефакты Nexus Artifact Uploader, Docker Pipeline
Безопасность Credentials Binding, Role-based Authorization
Уведомления Email Extension

Вывод

Выбор плагинов зависит от стека технологий и инфраструктуры. Важно обновлять плагины регулярно (уязвимости), но тестировать обновления на staging-инстансе Jenkins, так как обновление плагина может сломать существующие пайплайны.

На собеседовании: не нужно знать все 1800+ плагинов. Достаточно знать ключевые плагины для вашего стека (Java + Maven/Gradle + Docker + Nexus) и объяснить, зачем каждый из них нужен.