我如何告诉 Jenkins 在特定的从属机器上运行特定的项目?
我已经设置了一个 Jenkins 主节点和一个我想用来暂存应用程序的从属节点。但我不知道如何配置项目以在我创建的从属节点上运行。
答案1
在您的作业配置中设置“限制可以运行此作业的位置”复选框并指定您的从属服务器的名称。
如果您稍后添加更多从属服务器,则可以为每个从属服务器设置标签并在作业配置中指定这些标签。
参见这个参考文档:
答案2
如果您正在运行管道作业,您首先要向从属节点(或现在似乎称为代理)添加标签(例如“从属”)。
然后,在管道脚本中,指定作业运行的标签:
声明性管道:
pipeline {
agent {label 'slave'}
stages {
...
}
}
脚本管道:
node (label: 'slave') {
...
}
此作业现在将在带有标签“从属”的任何节点上运行。如果您只希望作业在此特定从属节点上运行,请不要重复使用标签。当然,标签不一定是“从属”;它可以是您想要的任何标签。
更新:
在脚本化管道中,如果您的节点名为“我的节点”,您也可以这样做:
node ('My Node') {
...
}
如果您只希望代码块在特定节点上运行,这很有用。但是,使用标签更灵活,并且可以更轻松地添加节点以分担工作负载。
答案3
如果要使用 Node/Label 作为参数,请安装NodeLabel 参数插件