我的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/

10-11 00:37