【问题标题】:Exit code to set build unstable - Jenkins DSL Scripting退出代码以设置构建不稳定 - Jenkins DSL 脚本
【发布时间】:2018-09-12 06:45:18
【问题描述】:

我正在尝试在job -> publishers -> postBuildScripts -> steps -> shell -> shell -> 中使用 Exit code 来设置构建不稳定根据条件设置我的构建不稳定。 我有下面的脚本。

...
postBuildScripts {
                onlyIfBuildSucceeds(false)
                steps {
                  shell('echo "Before exit 1"\n' +
                        'if [ ! condition ]; then\n' +
                        'echo failed-condition\n' +
                        'exit 1\n' +
                        'fi'
                       )
                }
            }
...

在执行上述 DSL 脚本时,我在 jenkins 中得到如下信息

使用上述脚本exit 1,构建失败。但我想让它变得不稳定,我想使用markBuildUnstable(true)。我只想根据某些退出代码将构建标记为不稳定。我可以通过手动将退出代码设置为 1 来做到这一点,如下所示 在此之后,构建被标记为不稳定。

我正在寻找通过脚本而不是手动设置此字段的脚本,因为我有很多工作。

有人可以帮我提出建议吗?

【问题讨论】:

    标签: jenkins jenkins-plugins jenkins-job-dsl


    【解决方案1】:

    我能够使用“原始”configure 接口使其工作。当我尝试它时,如果我在其他任何地方有一个steps { shell () },它会覆盖并丢失设置,所以我还必须指定command 选项。我的印象是<< 会追加而不是覆盖,但我以前从未使用过 Node。

    def final my_script = readFileFromWorkspace('my_script.sh') // Seed workspace
    freeStyleJob("jobname") {
      ...
        configure { project ->
            project / builders << 'hudson.tasks.Shell' {
              command my_script
              unstableReturn 2
            }
        }
      ...
    }
    

    【讨论】:

    • 不幸的是它不维护建设者的秩序:(
    【解决方案2】:

    您也可以使用Dynamic DSL:

    job('example') {
      steps {
        shell {
          command('echo TEST')
          unstableReturn(2)
        }
      }
    } 
    

    【讨论】:

    • 这在我本地的 lJenkins 安装(2.150.3,DSL 1.71)或 Job DSL 游乐场(1.69)中不起作用:job-dsl.herokuapp.comNo signature of method: javaposse.jobdsl.dsl.helpers.step.StepContext.shell() is applicable for argument types: (script$_run_closure1$_closure2$_closure3) 动态 DSL 确实出现在我的本地安装中(因此我尝试了它)。也许这是 Job DSL 插件中的一个错误?
    • 有效!!非常感谢。没有关于此的文档。你救了我的命。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-14
    • 2023-03-06
    • 2014-12-03
    • 1970-01-01
    相关资源
    最近更新 更多