CI/CD (soon)
Редактировать на GitHubВопросы
🛠️ Jenkins Pipeline — шпаргалка
Виды пайплайнов
- Declarative Pipeline — современный синтаксис (чёткая структура, легче читать).
- Scripted Pipeline — старый стиль (Groovy-скрипты, гибче, но сложнее).
Минимальный Declarative Pipeline
pipeline { agent any // где выполнять (any = любой агент) stages { stage('Build') { steps { echo 'Собираем проект...' sh 'mvn clean package' } } stage('Test') { steps { echo 'Запускаем тесты...' sh 'mvn test' } } stage('Deploy') { steps { echo 'Деплой...' sh './deploy.sh' } } } }
Ключевые элементы
- agent — где запускать (
any,docker { ... },label 'node1'). - stages — этапы пайплайна (Build, Test, Deploy).
- steps — конкретные действия внутри stage.
- post — блоки для
success,failure,always.
Пример с post и переменными
pipeline { agent any environment { APP_ENV = 'prod' } stages { stage('Deploy') { steps { sh "echo Deploying to ${APP_ENV}" } } } post { success { echo 'Пайплайн завершился успешно ✅' } failure { echo 'Ошибка во время пайплайна ❌' } } }
Узкие места (часто спрашивают на собесах)
- Чем отличается Declarative vs Scripted pipeline?
- Как запускать пайплайн на определённом агенте (
agent { label 'docker' }). - Как пробросить секреты из Jenkins Credentials:
withCredentials([string(credentialsId: 'MY_SECRET', variable: 'TOKEN')]) { sh 'echo $TOKEN' } - Как параллелить шаги:
stage('Parallel') { parallel { stage('Linux') { steps { sh 'echo Linux build' } } stage('Windows') { steps { echo 'Windows build' } } } }
📌 Вывод:
- Declarative Pipeline — основной синтаксис (коротко, читабельно).
- Всегда знай про
agent,stages,steps,post. - Для собеса полезно понимать: как параллелить, как подключать креды, как различать declarative и scripted.
Последнее обновление: 24 сент. 2025 г., 14:02:09