首页 文章

如果标签不匹配,如何中止Jenkins管道构建

提问于
浏览
2

我有一个Jenkinsfile multibranch管道脚本,它运行在两个不同的Jenkins系统上 . Jenkinsfile依赖于特定的标签名称 . 在其中一个系统中,基于标签的代理是可用的而在另一个系统中不是(有意) . 在前者它运行良好 . 在没有匹配标签的Jenkins系统中,作业只是挂起,因为它无法找到匹配的代理 .

如果找不到标签,有没有办法指定中止(或不启动)构建的选项?

1 回答

  • 0

    这里有一些讨论: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
    

相关问题