feat: расширен список Jenkins plugins — Vault, RBAC, уведомления, quality

Добавлены плагины по категориям:
- Секреты: hashicorp-vault-plugin, kubernetes-credentials
- Права: role-strategy, ldap
- VCS: bitbucket
- Build tools: maven-plugin, gradle, nodejs, ansible
- Quality: sonar, warnings-ng, jacoco, cobertura, htmlpublisher
- Artifacts: nexus-artifact-uploader, artifactory, publish-over-ssh
- Уведомления: email-ext, slack, telegram-notifications, mattermost
- Pipeline: pipeline-utility-steps, job-dsl, copyartifact, build-name-setter,
  throttle-concurrents, parameterized-trigger, docker-plugin

JCasC: при addon_vault: true автоматически настраивает hashicorpVault URL
Добавлена секция jenkins_vault_url в defaults
This commit is contained in:
Sergey Antropoff
2026-04-25 18:53:46 +03:00
parent e57e676392
commit 1080e6a792
2 changed files with 83 additions and 13 deletions

View File

@@ -10,22 +10,81 @@ jenkins_admin_password: "{{ vault_jenkins_admin_password | default('changeme-jen
# ── Plugins ───────────────────────────────────────────────────────────────────
jenkins_plugins:
# ── Core / Pipeline ─────────────────────────────────────────────────────────
- kubernetes # динамические агенты в k8s подах
- workflow-aggregator # Pipeline (Scripted + Declarative)
- git # Git SCM
- configuration-as-code # JCasC — конфиг как код
- pipeline-stage-view # визуализация стадий Pipeline
- blueocean # современный UI (опционально)
- credentials-binding # переменные окружения из Credentials
- ssh-agent # SSH ключи в Pipeline
- docker-workflow # docker.build/push в Pipeline
- ansicolor # цветной вывод консоли
- build-timeout # таймаут сборки
- timestamper # временные метки в логах
- github # GitHub интеграция и webhooks
- gitlab-plugin # GitLab интеграция (опционально)
- gitea-plugin # Gitea интеграция (опционально)
- matrix-auth # ролевые права доступа
- pipeline-utility-steps # readFile/writeFile/zip/tar/findFiles в Pipeline
- job-dsl # создание jobs ч<><D187>рез Groovy DSL (JobDSL)
- configuration-as-code # JCasC — конфиг Jenkins как код (YAML)
# ── Source Control ───────────────────────────────────────────────────────────
- git # Git SCM
- github # GitHub webhooks, Pull Request builder
- gitlab-plugin # GitLab MR integration, webhooks
- gitea-plugin # Gitea webhooks, Pull Request
- bitbucket # Bitbucket webhooks и SCM
- ssh-agent # SSH ключи в Pipeline шагах
# ── Секреты и Credentials ─────────────────────────────────────────────────
- credentials-binding # переменные окружения из Jenkins Credentials
- hashicorp-vault-plugin # HashiCorp Vault — чтение секретов в Pipeline
- kubernetes-credentials # ServiceAccount токены из k8s в Credentials
# ── Права доступа ────────────────────────────────────────────────────────────
- matrix-auth # ролевая матрица прав (per-user/per-job)
- role-strategy # RBAC с глобальными и project-level ролями
- ldap # LDAP / Active Directory авторизация
# ── Docker и контейнеры ───────────────────────────────────────────────────
- docker-workflow # docker.build/push/run в Pipeline
- docker-plugin # Docker Cloud — агенты в Docker-контейнерах
# ── Build Tools ──────────────────────────────────────────────────────────────
- maven-plugin # Maven проекты (mvn goals в Pipeline)
- gradle # Gradle wrapper поддержка
- nodejs # NodeJS installations, npm/yarn в Pipeline
- ansible # Ansible playbook шаги в Pipeline
# ── Code Quality ─────────────────────────────────────────────────────────────
- junit # публикация JUnit XML отчётов
- htmlpublisher # публикация HTML отчётов (coverage, docs)
- sonar # SonarQube/SonarCloud интеграция
- warnings-ng # статический анализ (checkstyle, spotbugs, pylint и др.)
- jacoco # JaCoCo code coverage отчёты
- cobertura # Cobertura XML coverage (Python, Ruby)
# ── Артефакты и хранилища ────────────────────────────────────────────────────
- nexus-artifact-uploader # публикация артефактов в Nexus Repository
- artifactory # JFrog Artifactory интеграция
- publish-over-ssh # деплой файлов по SSH
# ── Уведомления ──────────────────────────────────────────────────────────────
- email-ext # расширенные email уведомления (шаблоны, триггеры)
- slack # уведомления в Slack каналы
- telegram-notifications # уведомления в Telegram
- mattermost # уведомления в Mattermost
# ── Pipeline утилиты ─────────────────────────────────────────────────────────
- ws-cleanup # очистка workspace после сборки
- copyartifact # копирование а<><D0B0>тефактов между jobs
- build-name-setter # динамическое имя сборки (#42 → v1.2.3-abc1234)
- throttle-concurrents # ограничение параллельных сборок
- build-timeout # таймаут сборки (abort зависших jobs)
- parameterized-trigger # запуск downstream jobs с параметрами
# ── UI и логи ─────────────────────────────────────────────────────────────────
- blueocean # современный Pipeline UI
- ansicolor # цветной вывод ANSI в консоли
- timestamper # временные метки в логах сборки
# ── HashiCorp Vault ───────────────────────────────────────────────────────────
# При addon_vault: true — JCasC автоматически настраивает Vault URL в Jenkins.
# Создай AppRole Credentials вручную после установки:
# Jenkins → Manage Credentials → Add → Vault App Role Credential
# id: vault-approle, role_id + secret_id из Vault
# В Pipeline: withVault(configuration: [...], vaultSecrets: [...]) { ... }
jenkins_vault_url: "http://vault.vault.svc.cluster.local:8200"
# ── Ingress ───────────────────────────────────────────────────────────────────
jenkins_ingress_enabled: true

View File

@@ -57,6 +57,17 @@ controller:
unclassified:
location:
url: "http{{ 's' if jenkins_ingress_tls else '' }}://{{ jenkins_ingress_host }}/"
{% if addon_vault | default(false) | bool %}
vault-config: |
unclassified:
hashicorpVault:
configuration:
vaultUrl: "http://vault.vault.svc.cluster.local:8200"
vaultCredentialId: "vault-approle"
engineVersion: 2
skipSslVerification: true
timeout: 60
{% endif %}
# Хранилище Jenkins Home
persistence: