我的管道有条件,在这种情况下,仅当分支为Node
时才运行master
阶段。我的问题是,即使跳过阶段,node:8
图像也会被docker拉出。有没有办法避免这种情况?
pipeline {
agent any
stages {
stage('Node') {
agent {
docker { image 'node:8' }
}
when {
branch 'master'
}
steps {
sh 'node -v'
}
}
stage('Maven') {
agent {
docker { image 'maven:3' }
}
steps {
sh 'mvn -v'
}
}
}
}
答案 0 :(得分:1)
在代理上评估when条件。这就是拉动图像的原因。但是,您可以使用beforeAgent选项更改此行为:
when {
beforeAgent true
branch 'master'
}
这将导致在进入代理之前评估when语句,并且应该避免拉动图像。