题 告诉Jenkins在特定的从节点上运行特定项目


如何告诉Jenkins在特定的奴隶上运行特定项目?

我已经设置了一个Jenkins主节点,以及一个我想用来暂存应用程序的从节点。但我无法弄清楚如何配置项目以在我创建的从属节点上运行。


71
2018-02-13 22:43




stackoverflow.com/questions/9214501/... - kaji


答案:


在作业配置中设置“限制可以运行此作业的位置”复选框,并指定从站的名称。

如果稍后添加更多从站,则可以为每个从站设置标签,并在作业配置中指定这些标签。

请参阅此参考文档:


72
2018-02-20 06:59



谢谢。我找了你的答案之前用了很长时间。它应该已添加到此页面 wiki.jenkins-ci.org/display/JENKINS/Distributed+builds - Surasin Tancharoen


如果您正在运行管道作业,则首先要将标签(例如“slave”)添加到从属节点(或代理,因为它现在似乎被调用)。

然后,在管道脚本中,指定作业运行的标签:

声明性管道:

pipeline {
    agent {label 'slave'}
    stages {
        ...
    }
}

脚本管道:

node (label: 'slave') {
    ...
}

此作业现在将在标签为“slave”的任何节点上运行。如果您只希望作业在此特定从站上运行,请不要重复使用该标签。当然,标签不一定是“奴隶”;它可以是你想要的任何东西。

更新:

在脚本管道中,如果您的节点名为“我的节点”,您也可以这样做:

node ('My Node') {
    ...
}

如果您只希望代码块在该特定节点上运行,这很有用。但是,使用标签更加灵活,并且可以更轻松地添加节点以共享工作负载。


8
2017-12-29 03:59



这很难找到,脚本语法的文档很有利于声明,我无法迁移,所以谢谢! - Mitchell Currie


如果要将节点/标签用作参数,请安装 NodeLabel参数插件


5
2017-10-04 14:32