advanced
Jenkins
Понимайте архитектуру controller-agent, pipelines as code, plugins, credentials и операционное сопровождение self-hosted CI.
Jenkins — self-hosted сервер автоматизации с controllers, agents, pipelines as code (`Jenkinsfile`), credentials и большой экосистемой plugins. Сила — гибкость; цена — операции.
pipeline {
agent any
stages {
stage('Test') {
steps {
sh 'npm ci && npm test'
}
}
}
}
Команды сами отвечают за апгрейды, образы agents, CVE plugins, ёмкость очереди и бэкап состояния controller. Эфемерные agents улучшают воспроизводимость против долгоживущих mutable машин.
На интервью: модель controller-agent, риск plugins, scope credentials, почему уходят на hosted CI, review pipeline-as-code.
Типовые ошибки: немaintained plugins; mutable agents с drift; широкие credentials на все jobs.
Компромисс — безграничная кастомизация против патчей безопасности и операционной рутины.
Чеклист:
- Jenkins как управляемая инфраструктура.
- Воспроизводимые agents (образы, не snowflakes).
- Ограничьте blast radius plugins и credentials.
- Версионируйте и review Jenkinsfiles в Git.