我在多分支管道中使用声明性Jenkinsfile,如下所示。 SCM设置为每5分钟轮询一次。
pipeline {
agent none
stages {
stage('Build Jar') {
agent {
docker {
image 'maven:3.6.0-jdk-11'
args '-v $HOME/.m2:/root/.m2'
}
}
steps {
sh 'mvn clean package release:clean release:prepare release:perform -Darguments="-Dmaven.deploy.skip=true" -DscmCommentPrefix="[skip ci]"'
}
}
stage('Build Image') {
steps {
script {
app = docker.build("myname/myimage")
}
}
}
//other stages here
}
问题:
maven版本将更改提交到存储库,从而触发另一个构建。因此它会被不确定地触发。我碰到了这个SCM跳过插件。
scmSkip(deleteBuild: true, skipPattern:'.*\\[skip ci\\].*')
但是不幸的是,它需要一个代理来运行!
我也尝试使用任何代理。没运气。
pipeline {
agent any
stages {
stage('SCM Check') {
steps {
scmSkip(deleteBuild: true, skipPattern:'.*\\[skip ci\\].*')
}
}
stage('Build Jar') {
steps {
sh 'mvn clean package release:clean release:prepare release:perform -Darguments="-Dmaven.deploy.skip=true" -DscmCommentPrefix="[skip ci]"'
}
}
stage('Build Image') {
steps {
script {
app = docker.build("myname/myimage")
}
}
}
//other stages here
}
你们如何跳过某些消息?
答案 0 :(得分:0)
我必须使用以下插件,该插件不包含某些提交者。效果很好。
https://github.com/jenkinsci/ignore-committer-strategy-plugin