如何将 Jenkins 中的代理人限制为 运行 只有一份工作?

How to restrict a agent in Jenkins to run only one job?

我有一个没有任何额外代理的 Jenkins master。我的 Jenkins 服务器有 100 多个作业,所有作业都作为 Jenkinsfile 签入源代码管理。

所有 Jenkins 文件都包含以下内容,

agent any

现在,我想给master增加一个agent,创建一个job。这个新创建的作业必须 运行 仅在新添加的代理计算机上。

我们可以将 Jenkins 中的作业限制为 运行 在特定代理上,但在这种情况下,我必须修改我所有的 100 个 Jenkinsfile 以使它们 运行 仅在 master 上。

在 Jenkins 中有没有一种方法可以将代理限制为 运行 特定的工作?这样我就不需要修改所有 100 个 Jenkinsfile。

希望我理解正确...

你可以在你的新作业中添加一个label,并将新节点设置为Only build jobs with label expressions matching this node...然后将相同的标签添加到该节点,它将只执行匹配该节点的作业.