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) и объяснить, зачем каждый из них нужен.