我有一个Jenkinsfile multibranch管道脚本,它运行在两个不同的Jenkins系统上 . Jenkinsfile依赖于特定的标签名称 . 在其中一个系统中,基于标签的代理是可用的而在另一个系统中不是(有意) . 在前者它运行良好 . 在没有匹配标签的Jenkins系统中,作业只是挂起,因为它无法找到匹配的代理 .
如果找不到标签,有没有办法指定中止(或不启动)构建的选项?
这里有一些讨论:https://issues.jenkins-ci.org/browse/JENKINS-35905
可能很快就不可能
如果他们正在调用共享库,那么您可以检查标签是否在线/可用,然后使构建失败
def computers = Jenkins.instance.computers for(computer in computers){ if(computer.isOnline()){ labelStr = computer.node.getLabelString() } if labelStr ~= /user input/ break; } System.exit(1); // no label
1 回答
这里有一些讨论:https://issues.jenkins-ci.org/browse/JENKINS-35905
可能很快就不可能
如果他们正在调用共享库,那么您可以检查标签是否在线/可用,然后使构建失败