如何避免詹金斯执行人的僵局?

时间:2019-11-11 19:21:35

标签: jenkins jenkins-pipeline

我在Jenkins安装中配置了两个多分支项目(来自GitHub)。目前,执行者人数为四。

有时候,当要建立许多分支机构时,最终所有执行者都在等待免费执行者而什么也没有发生。

您通常如何避免这种情况?当然,不能确保在一台计算机上配置一百万个执行器以确保这种情况永远不会发生。

我现在有四个执行器正在尝试构建,他们都在互相等待:

Still waiting to schedule task
Waiting for next available executor

另一个问题是,为什么/为什么可能这样?他们没有实施任何机制来防止这种情况发生吗?

1 个答案:

答案 0 :(得分:1)

如果只有一个带有标签“ agent1”的代理,则会出现死锁。

pipeline {

    agent { label 'agent1' }

    stages {
        stage('simple deadlock') {
            agent { label 'agent1' }
        }
    }
}

我建议在每个阶段都设置代理,或者仅在全局级别上设置代理,而不要同时使用这两种方法。