如何使用管道作业的Jenkins重作业属性

时间:2016-07-01 13:50:47

标签: jenkins jenkins-pipeline

我有一个管道工作,包括几个阶段,每个阶段需要几个小时。 在流水线操作之前,每个阶段都是它自己的工作,我正在使用Heavy Job Plugin来完成其中一些工作。现在看起来好像"属性"命令允许指定" HeavyJobProperty"。由于this question,我设法正确地获得了它的语法。

我的管道脚本看起来像这样:

node ('<label>') {
    ws ('<mydir>') {
        // Mark the code checkout 'stage'....
        stage 'Checkout'

        git url: '<repourl>'

        stage 'Build'
        properties ([[$class: 'HeavyJobProperty', weight: 8]])

        sh '<mybuild>'
    }
}

不幸的是,这似乎不起作用,在执行脚本时,我收到消息:

  

错误:无法将hudson.plugins.heavy_job.HeavyJobProperty应用于   WorkflowJob

有没有人知道我是如何让这个工作的?

即使流水线文档显示了HeavyJobProperty,看起来该插件还没有适应流水线作业。

1 个答案:

答案 0 :(得分:3)

繁重的作业矩阵插件与管道插件不兼容,也没有问题请求它(请参阅https://github.com/jenkinsci/pipeline-plugin/blob/master/COMPATIBILITY.md

作为一种解决方法,您可以保留旧的构建作业并从管道中调用它们。

您要寻找的管道步骤是“构建”。如果您使用片段生成器,它将允许您生成调用它的语法,包括您需要保存的任何参数。

如果您需要与管道相同的工作空间,则可以配置要调用的作业以使用管道作业的工作空间。您可以在“常规”标题的“高级”部分中设置工作区。它将是“使用自定义工作区”

该解决方案的注意事项:1)繁重的工作将不再独立。 2)如果你有多个节点,我认为它不会很好。

相关问题