如何跳过特定消息的 SCM 触发器
How to skip SCM trigger on certain message
我正在为多分支管道使用声明式 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 release 提交对触发另一个构建的 repo 的更改。所以它会无限期地触发。我遇到了这个 SCM Skip 插件。
scmSkip(deleteBuild: true, skipPattern:'.*\[skip ci\].*')
但不幸的是它需要代理才能运行!!
我也试过用agent any。没有运气。
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
}
你们如何跳过某些消息的构建?
我不得不使用下面的插件,它排除了特定的提交者。效果很好。
https://github.com/jenkinsci/ignore-committer-strategy-plugin
我正在为多分支管道使用声明式 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 release 提交对触发另一个构建的 repo 的更改。所以它会无限期地触发。我遇到了这个 SCM Skip 插件。
scmSkip(deleteBuild: true, skipPattern:'.*\[skip ci\].*')
但不幸的是它需要代理才能运行!!
我也试过用agent any。没有运气。
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
}
你们如何跳过某些消息的构建?
我不得不使用下面的插件,它排除了特定的提交者。效果很好。
https://github.com/jenkinsci/ignore-committer-strategy-plugin