我的jenkinsfile有几个参数,每次我在参数中进行更新(例如,删除或添加新输入)并将更改提交到我的SCM时,我都看不到在jenkins中相应更新的作业输入屏幕,我必须运行执行,将其取消,然后在中查看我的更新字段
properties([
parameters([
string(name: 'a', defaultValue: 'aa', description: '*', ),
string(name: 'b', description: '*', ),
string(name: 'c', description: '*', ),
])
])
有什么线索吗?
最佳答案
为了解决这个问题,我要做的最丑陋的事情之一就是创建一个Refresh
参数,该参数基本上立即退出管道。这样,我可以运行管道以更新属性。
pipeline {
agent any
parameters {
booleanParam(name: 'Refresh',
defaultValue: false,
description: 'Read Jenkinsfile and exit.')
}
stages {
stage('Read Jenkinsfile') {
when {
expression { return parameters.Refresh == true }
}
steps {
echo("Ended pipeline early.")
}
}
stage('Run Jenkinsfile') {
when {
expression { return parameters.Refresh == false }
}
stage('Build') {
// steps
}
stage('Test') {
// steps
}
stage('Deploy') {
// steps
}
}
}
}
确实必须有更好的方法,但是我还没有找到它:(
关于jenkins - 如何强制jenkins重新加载jenkinsfile?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44422691/