我已经限制了我的 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/