我已经限制了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'
}
}
}
}
答案 0 :(得分:1)
谢谢@Quantic指向文档。
根据它,
每个Pipeline构建本身都在主服务器上运行,使用flyweight执行程序 - 一个假设不占用任何重要计算能力的不计数的插槽。
自从我设置以来,该作业名称必须与正则表达式匹配,在我的例子中,正则表达式是单个允许作业的确切名称,我已经有效地禁用了所有管道脚本。
此外,这是一个已知的错误:https://issues.jenkins-ci.org/browse/JENKINS-31866
此错误的优先级很低,因此Pipeline插件不适合我。