Добавлены плагины по категориям: - Секреты: 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
124 lines
9.1 KiB
YAML
124 lines
9.1 KiB
YAML
---
|
||
jenkins_version: "" # "" = автоматически последняя версия чарта
|
||
jenkins_namespace: "jenkins"
|
||
jenkins_chart_repo: "https://charts.jenkins.io"
|
||
|
||
# Администратор
|
||
jenkins_admin_user: "admin"
|
||
# Пароль задаётся в vault.yml: vault_jenkins_admin_password
|
||
jenkins_admin_password: "{{ vault_jenkins_admin_password | default('changeme-jenkins') }}"
|
||
|
||
# ── Plugins ───────────────────────────────────────────────────────────────────
|
||
jenkins_plugins:
|
||
# ── Core / Pipeline ─────────────────────────────────────────────────────────
|
||
- kubernetes # динамические агенты в k8s подах
|
||
- workflow-aggregator # Pipeline (Scripted + Declarative)
|
||
- pipeline-stage-view # визуализация стадий Pipeline
|
||
- 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
|
||
jenkins_ingress_host: "jenkins.example.com"
|
||
jenkins_ingress_class: "{{ ingress_nginx_class_name | default('nginx') }}"
|
||
jenkins_ingress_tls: true
|
||
jenkins_ingress_cert_issuer: "{{ cert_manager_default_issuer_name | default('letsencrypt-prod') }}"
|
||
|
||
# ── Хранилище (Jenkins Home) ──────────────────────────────────────────────────
|
||
jenkins_storage_size: "20Gi"
|
||
jenkins_storage_class: ""
|
||
|
||
# ── Kubernetes агенты ─────────────────────────────────────────────────────────
|
||
# Dynamic Pod agents — Jenkins создаёт Pod для каждой сборки и удаляет после
|
||
jenkins_agent_enabled: true
|
||
jenkins_agent_default_image: "jenkins/inbound-agent:latest"
|
||
|
||
# ── Метрики ───────────────────────────────────────────────────────────────────
|
||
jenkins_metrics_enabled: true # Prometheus metrics plugin (port 8080/prometheus)
|
||
|
||
# ── Ресурсы ───────────────────────────────────────────────────────────────────
|
||
jenkins_resources:
|
||
requests:
|
||
cpu: 200m
|
||
memory: 512Mi
|
||
limits:
|
||
cpu: 2000m
|
||
memory: 4Gi
|
||
|
||
jenkins_agent_resources:
|
||
requests:
|
||
cpu: 200m
|
||
memory: 256Mi
|
||
limits:
|
||
cpu: 1000m
|
||
memory: 1Gi
|