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:
@@ -10,22 +10,81 @@ jenkins_admin_password: "{{ vault_jenkins_admin_password | default('changeme-jen
|
|||||||
|
|
||||||
# ── Plugins ───────────────────────────────────────────────────────────────────
|
# ── Plugins ───────────────────────────────────────────────────────────────────
|
||||||
jenkins_plugins:
|
jenkins_plugins:
|
||||||
|
# ── Core / Pipeline ─────────────────────────────────────────────────────────
|
||||||
- kubernetes # динамические агенты в k8s подах
|
- kubernetes # динамические агенты в k8s подах
|
||||||
- workflow-aggregator # Pipeline (Scripted + Declarative)
|
- workflow-aggregator # Pipeline (Scripted + Declarative)
|
||||||
- git # Git SCM
|
|
||||||
- configuration-as-code # JCasC — конфиг как код
|
|
||||||
- pipeline-stage-view # визуализация стадий Pipeline
|
- pipeline-stage-view # визуализация стадий Pipeline
|
||||||
- blueocean # современный UI (опционально)
|
- pipeline-utility-steps # readFile/writeFile/zip/tar/findFiles в Pipeline
|
||||||
- credentials-binding # переменные окружения из Credentials
|
- job-dsl # создание jobs ч<><D187>рез Groovy DSL (JobDSL)
|
||||||
- ssh-agent # SSH ключи в Pipeline
|
- configuration-as-code # JCasC — конфиг Jenkins как код (YAML)
|
||||||
- docker-workflow # docker.build/push в Pipeline
|
|
||||||
- ansicolor # цветной вывод консоли
|
# ── Source Control ───────────────────────────────────────────────────────────
|
||||||
- build-timeout # таймаут сборки
|
- git # Git SCM
|
||||||
- timestamper # временные метки в логах
|
- github # GitHub webhooks, Pull Request builder
|
||||||
- github # GitHub интеграция и webhooks
|
- gitlab-plugin # GitLab MR integration, webhooks
|
||||||
- gitlab-plugin # GitLab интеграция (опционально)
|
- gitea-plugin # Gitea webhooks, Pull Request
|
||||||
- gitea-plugin # Gitea интеграция (опционально)
|
- bitbucket # Bitbucket webhooks и SCM
|
||||||
- matrix-auth # ролевые права доступа
|
- 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 ───────────────────────────────────────────────────────────────────
|
# ── Ingress ───────────────────────────────────────────────────────────────────
|
||||||
jenkins_ingress_enabled: true
|
jenkins_ingress_enabled: true
|
||||||
|
|||||||
@@ -57,6 +57,17 @@ controller:
|
|||||||
unclassified:
|
unclassified:
|
||||||
location:
|
location:
|
||||||
url: "http{{ 's' if jenkins_ingress_tls else '' }}://{{ jenkins_ingress_host }}/"
|
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
|
# Хранилище Jenkins Home
|
||||||
persistence:
|
persistence:
|
||||||
|
|||||||
Reference in New Issue
Block a user