【问题标题】:How to restrict a agent in Jenkins to run only one job?如何限制 Jenkins 中的代理只运行一项工作?
【发布时间】:2019-04-11 08:37:01
【问题描述】:

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

所有的 Jenkinsfile 在文件的请求中都包含以下内容,

agent any

现在,我想向主服务器添加一名代理并创建一项工作。这个新创建的作业只能在新添加的代理机器上运行。

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

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

【问题讨论】:

    标签: jenkins agent restriction


    【解决方案1】:

    希望我理解正确...

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

    【讨论】:

    • 知道了,但我有 100 多个现有作业,这表明在任何代理上运行..我不希望现有作业在新代理上运行..
    • 是的,如果您将Only build jobs with label expressions matching this node 设置为any 表示在任何可用 节点上运行,我认为现有作业将不会在新节点上运行......但是新节点将不再可用于这些作业。虽然这是未经测试的,所以我可能是错的。如果是这样,恐怕你需要编辑所有现有的工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-25
    • 1970-01-01
    • 1970-01-01
    • 2016-09-09
    • 2016-10-13
    • 2012-07-18
    • 2022-01-22
    相关资源
    最近更新 更多