jenkins - 如何强制 Jenkins 重新加载 Jenkins 文件?

标签 jenkins jenkins-pipeline

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

相关文章:

java - 更改 jenkins 分支的 Maven 存储库

jenkins - aws cloudformation 部署在添加 --tags 时失败

jenkins - 如何使用 jenkins 声明式管道添加条件构建后操作?

jenkins - 声明式 Jenkins 管道;如何声明变量并在脚本或邮件通知中使用它?

maven - Jib-Maven-plugin 与 Jenkins 脚本化管道 : how to log in to private docker registry?

jenkins - 在 pipeline 2.0 groovy 脚本中执行 git fetch

authentication - 如何在 Jenkins 管道中使用 Google 服务帐户进行身份验证

qt - 使用Jenkins xUnit插件显示QTeSTLib的结果

Jenkins Pipeline 发布 html 报告

intellij-idea - 智能 IDEA。检查没有扩展名的文件的语法