#jenkins #jenkins-pipeline
#Дженкинс #дженкинс-конвейер
Вопрос:
Я хотел бы запустить один этап параллельно двум этапам и все это после трех других этапов.
Что-то вроде этого (недопустимый синтаксис как есть):
pipeline {
stages {
stage('Build A') {
}
stage('Build B') {
}
stage('Build C') {
}
parallel {
stages {
stage('Build D1') {
}
stage('Build D2') {
}
}
stage('Build D3') {
}
}
}
}
Возможно ли организовать такую структуру?
Ответ №1:
Способ сделать это — последовательные этапы параллельно.
pipeline {
agent none
stages {
stage("build and deploy on Windows and Linux") {
parallel {
stage("windows") {
agent {
label "windows"
}
stages {
stage("build") {
steps {
bat "run-build.bat"
}
}
stage("deploy") {
when {
branch "master"
}
steps {
bat "run-deploy.bat"
}
}
}
}
stage("linux") {
agent {
label "linux"
}
stages {
stage("build") {
steps {
sh "./run-build.sh"
}
}
stage("deploy") {
when {
branch "master"
}
steps {
sh "./run-deploy.sh"
}
}
}
}
}
}
}
}