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

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

我如何告诉 Jenkins 在特定的从属机器上运行特定的项目?

我已经设置了一个 Jenkins 主节点和一个我想用来暂存应用程序的从属节点。但我不知道如何配置项目以在我创建的从属节点上运行。

答案1

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

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

参见这个参考文档:

答案2

如果您正在运行管道作业,您首先要向从属节点(或现在似乎称为代理)添加标签(例如“从属”)。

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

声明性管道:

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

脚本管道:

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

此作业现在将在带有标签“从属”的任何节点上运行。如果您只希望作业在此特定从属节点上运行,请不要重复使用标签。当然,标签不一定是“从属”;它可以是您想要的任何标签。

更新:

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

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

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

答案3

如果要使用 Node/Label 作为参数,请安装NodeLabel 参数插件

答案4

解决这个问题的简单方法。

pipeline {
agent {label 'node1'}

stages {
    stage('Hello') {
        steps {
            echo 'Hello World'
        }
    }
}

}

在此处输入图片描述

在此处输入图片描述

相关内容