Ответ
Jenkins Pipeline — это набор плагинов, который позволяет описывать процесс непрерывной интеграции и доставки (CI/CD) в виде кода (Pipeline as Code).
Ключевые концепции:
- Declarative vs Scripted: Declarative Pipeline использует упрощенный предопределенный синтаксис, а Scripted — полноценный Groovy-скрипт.
- Узел (Node): Машина, на которой выполняется Pipeline.
- Этап (Stage): Логический раздел конвейера (например,
Build,Test,Deploy). - Шаг (Step): Конкретная операция (например, выполнить команду оболочки).
Пример Declarative Pipeline (Jenkinsfile):
pipeline {
agent any
stages {
stage('Build') {
steps {
sh 'mvn clean compile'
}
}
stage('Test') {
steps {
sh 'mvn test'
}
}
stage('Deploy') {
steps {
sh 'mvn deploy'
}
}
}
}
Преимущества: версионность, возможность код-ревью, возможность ветвления и циклов, возможность паузы и ручного подтверждения.