詹金斯管道工作总是试图从主人开始

时间:2018-01-19 15:29:16

标签: jenkins jenkins-pipeline

我已经限制了Jenkins master执行的构建,因为在Node安全设置中,它的所有从属服务器都比它更强大。

我的意思是:“管理詹金斯” - > “管理节点” - >主人 - > “配置” - >选中“限制在此节点上运行的作业” - > “工作限制” - > “正则表达式”。然后输入regexp,如^exact_allowed_job_name$

现在管道作业停留在挂起状态(“等待主服务器上的下一个可用执行程序”)。

我找不到任何方法来指定应该在作业设置中执行此作业的从属设备,例如自由式作业中的“限制此项目可以运行的位置”复选框。

有可能吗?

指定标签没有帮助。这是我第一次尝试。

无论如何,这个简单的管道都需要主人,无论'special'标签。

#!/usr/bin/env groovy

node('special') {
   stage('checkout') {
       echo 'checkout'
   }
}

此管道也被卡住了。

#!/usr/bin/env groovy

pipeline {
    agent none
    stages {
        stage('Checkout'){
            agent {
                label 'special'
            }
            steps {
                echo 'Checkout'
            }
        }
    }
}

1 个答案:

答案 0 :(得分:1)

谢谢@Quantic指向文档。

根据它,

  

每个Pipeline构建本身都在主服务器上运行,使用flyweight执行程序 - 一个假设不占用任何重要计算能力的不计数的插槽。

自从我设置以来,该作业名称必须与正则表达式匹配,在我的例子中,正则表达式是单个允许作业的确切名称,我已经有效地禁用了所有管道脚本。

此外,这是一个已知的错误:https://issues.jenkins-ci.org/browse/JENKINS-31866

此错误的优先级很低,因此Pipeline插件不适合我。