Jenkinsfile-在出现异常时获取Gradle构建消息

xcitsw88  于 2022-09-20  发布在  Jenkins
关注(0)|答案(1)|浏览(165)

我希望在分数构建失败的情况下获得错误消息,并将其发送到SLACK。

在Jenkins文件中,我有:

Jenkins Build控制台输出显示:

+ ./gradlew build -x test -x integrationTest
FAILURE: Build failed with an exception.

* What went wrong:

Execution failed for task ':spotlessJavaCheck'.
 The following files had format violations:
      src/main/java/com/src/Test.java
          @@ -1241,7 +1241,7 @@
           ········.flatMap(x -> x.getStream().stream())
           ········.filter(x·->·x.getSize() > 9)
           ··}

           ··public·String·getMessage()·{

我试着这样做:

stage('Build the project') {
       /* sh "./gradlew clean classes" */
       stageName = env.STAGE_NAME
       def message
        try {
                    message = sh(returnStdout: true, script: "./gradlew build -x test -x integrationTest")
                    } catch(Exception buildException){
                        echo "Build exception is " + message
                        throw buildException
                    }
                }

但我得到的生成异常为空

我也试过了:

try{
stage('Build the project') {
       /* sh "./gradlew clean classes" */
       stageName = env.STAGE_NAME
       sh "./gradlew build -x test -x integrationTest"
      }
} catch (Exception ex) {
        echo "We received " + ex.toString()

但它正在记录:我们收到hudson。异常:脚本返回退出代码1

如何将Gradle构建的消息放入变量中?我想使用它,这样我就可以在消息中将其发送给SLACK,而不是总是去Jenkins Build

pxq42qpu

pxq42qpu1#

尝试将stderr重定向到stdout:

message = sh(returnStdout: true, script: "./gradlew build -x test -x integrationTest 2>&1")

相关问题