如果先前成功的构建提交和当前提交相同,则阻止jenkins构建



如果当前提交上一次成功构建提交止Jenkins构建。有什么方法可以在Jenkins中检查当前版本和以前的版本吗。我正在使用詹金斯文件
简单地说,如果没有提交,我不希望jenkins有构建。手动生成不应工作。

if ("${GIT_COMMIT}"=="${GIT_PREVIOUS_SUCCESSFUL_COMMIT}") {
sh 'exit 1'
}
else {
echo "${GIT_PREVIOUS_COMMIT}" 
} 

AFAIK,除非使用SCM轮询,否则无法阻止生成的发生。如果轮询不是一个选项,您可以简单地启动构建,检查是否有任何更改,然后停止构建。为此,您可以使用changeSet

stage('Build') {
steps {
git url:'https://github.com/xxxx/sample.git', branch: 'main'
script {
if(currentBuild.changeSets.size() > 0) {
echo "There are changes, so continue"
} else {
echo "No changes, stop the build"
currentBuild.result = "NOT_BUILT"
error("Skipping the build.")
}
echo "Building Stuff"
}
}
}

最新更新