Jenkins 管道工作总是试图从主人开始

标签 jenkins jenkins-pipeline

我已经限制了我的 Jenkins 主节点执行的构建,因为它的所有从节点都比它更强大,在节点安全设置中。

我的意思是:“管理 Jenkins”->“管理节点”-> 主节点->“配置”-> 选中“限制在此节点上运行的作业”->“作业限制”->“正则表达式”。然后输入正则表达式,如 ^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'
            }
        }
    }
}

最佳答案

谢谢,@Quantic 指向文档。

据介绍,

every Pipeline build itself runs on the master, using a flyweight executor — an uncounted slot that is assumed to not take any significant computational power.



由于我已经设置,该作业名称必须与正则表达式匹配,在我的情况下,它是单个允许作业的确切名称,我已经有效地禁用了所有管道脚本。

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

这个 bug 的优先级很低,因此 Pipeline 插件对我来说不是一个选择。

关于 Jenkins 管道工作总是试图从主人开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48344432/

相关文章:

jenkins - 将值从文件传递给 Jenkins 参数

Git参数管道脚本

eclipse - 如何使用 Jenkins 创建 Kony 项目的构建 - 持续集成

jenkins - 如何限制并行运行的某些管道的数量?

azure - 从 Jenkins 触发 azure devops 管道

windows - Docker Jenkins 图像 - curl : (3) Illegal characters found in URL

jenkins - 如何在声明性管道中从 archiveArtifact 中排除文件?

python - 使用Jenkins和Docker运行Python脚本

jenkins - 触发多分支管道项目中的依赖作业

Jenkins SSH 管道步骤 -- com.jcraft.jsch.JSchException : invalid privatekey: [B@84d6b5c