我正在尝试解决与此问题相同的问题:如何使用管道插件在特定节点上触发詹金斯构建? https://stackoverflow.com/questions/38240943/how-to-trigger-a-jenkins-build-on-specific-node-using-pipeline-plugin.
我的情况唯一的区别是我触发的作业是另一个脚本化的管道作业。因此,建议的解决方案中的第二步不适用于我的情况:
- 安装Node和Label参数插件
- 在test_job的配置中,选择'This build isparameterized'并添加一个Label参数并将参数名称设置为'node'
- 在管道脚本中,使用代码(代码省略)
我的问题是如何定义:
org.jvnet.jenkins.plugins.nodelabelparameter.LabelParameterDefinition
我的脚本化管道参数化作业中的参数(不是通过 GUI)。
我尝试过的:
properties([[$class : 'RebuildSettings',
autoRebuild : false,
rebuildDisabled: false],
parameters([org.jvnet.jenkins.plugins.nodelabelparameter.LabelParameterDefinition(name: 'node')])])
生成参数化脚本管道所需的代码的最简单方法是:
- 转到管道片段生成器
- 选择“属性:设置作业属性”
- 检查“该项目已参数化”
- 点击“添加参数”并选择“标签”
- 单击“生成管道脚本”
这给你:
properties([
[$class: 'RebuildSettings', autoRebuild: false, rebuildDisabled: false],
parameters([
[$class: 'LabelParameterDefinition',
allNodesMatchingLabel: false,
defaultValue: '',
description: '',
name: 'node',
nodeEligibility: [$class: 'AllNodeEligibility'], t
riggerIfResult: 'allCases']
]
)
])
但就我而言,这甚至没有必要。您所需要的只是一个具有自定义名称的常规字符串参数,可以说“node”,然后执行以下操作:
node(params.node){}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)