首页 > 解决方案 > 当 Maven 在 shell 脚本中构建失败时,在 Groovy 函数中返回布尔值

问题描述

我写了一个 Jenkins Pipeline Groovy 来执行多个项目的 Maven 声纳分析。代码工作正常,但问题是有时构建失败的某些项目我需要正确跟踪它。我的executeMavenSonarBuild函数如下所示

def executeMavenSonarBuild(projectName) {
    stage ('Execute Maven Build for '+projectName) 
    {
            sh """ {
                    cd ${projectName}/
                    mvn clean install verify sonar:sonar

                    } || {
                        echo 'Build Failed'
                    }
                """ 
    }
    return true;
}

如果构建失败,它会打印出来echo 'Build Failed',但是我们如何返回一个错误的布尔值作为函数的返回值。

标签: shellmavengroovyjenkins-pipelinesonarqube-scan

解决方案


您必须从mvn调用本身获取状态..它应该如下所示:

def result = sh ( script: 'mvn ...', returnStatus: true)

推荐阅读