我有一个管道工作,包括几个阶段,每个阶段需要几个小时。 在流水线操作之前,每个阶段都是它自己的工作,我正在使用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,看起来该插件还没有适应流水线作业。
答案 0 :(得分:3)
繁重的作业矩阵插件与管道插件不兼容,也没有问题请求它(请参阅https://github.com/jenkinsci/pipeline-plugin/blob/master/COMPATIBILITY.md)
作为一种解决方法,您可以保留旧的构建作业并从管道中调用它们。
您要寻找的管道步骤是“构建”。如果您使用片段生成器,它将允许您生成调用它的语法,包括您需要保存的任何参数。
如果您需要与管道相同的工作空间,则可以配置要调用的作业以使用管道作业的工作空间。您可以在“常规”标题的“高级”部分中设置工作区。它将是“使用自定义工作区”
该解决方案的注意事项:1)繁重的工作将不再独立。 2)如果你有多个节点,我认为它不会很好。