我的 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 重新加载 Jenkins 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44422691/