Ошибка сборки конвейера Jenkins -> Файлы тестовых отчетов не найдены

Я получаю следующее сообщение об ошибке при попытке создать сборку с помощью Jenkins Pipeline. Пишет, что не может найти файлы отчетов. Но, насколько я понимаю, эти файлы отчетов не должны создаваться при выполнении тестов? Локально я могу запускать тесты с mvnw clear test, и файлы создаются в целевой папке (проект Maven). Поскольку целевая папка содержит файлы сборки, я не предполагаю, что мне нужно загружать эти файлы в репозиторий git? За любую помощь буду очень рад!

Ошибка сборки Jenking:

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Error: Invalid or corrupt jarfile /var/lib/jenkins/jobs/tool Job/workspace/target/surefire/surefirebooter1117922841156378420.jar

Results :

Tests run: 0, Failures: 0, Errors: 0, Skipped: 0

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 16.507 s
[INFO] Finished at: 2017-10-07T15:21:53Z
[INFO] Final Memory: 58M/398M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.18.1:test (default-test) on project j-hipster-irp: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:2.18.1:test failed: The forked VM terminated without properly saying goodbye. VM crash or System.exit called?
[ERROR] Command was /bin/sh -c cd "/var/lib/jenkins/jobs/tool Job/workspace" && /usr/lib/jvm/java-8-openjdk/jre/bin/java '-javaagent:/var/lib/jenkins/.m2/repository/org/jacoco/org.jacoco.agent/0.7.9/org.jacoco.agent-0.7.9-runtime.jar=destfile=/var/lib/jenkins/jobs/tool Job/workspace/target/test-results/coverage/jacoco/jacoco.exec' -Djava.security.egd=file:/dev/./urandom -Xmx256m -jar '/var/lib/jenkins/jobs/tool Job/workspace/target/surefire/surefirebooter1117922841156378420.jar' '/var/lib/jenkins/jobs/tool Job/workspace/target/surefire/surefire1734872125374791310tmp' '/var/lib/jenkins/jobs/tool Job/workspace/target/surefire/surefire_03108578491450238058tmp'
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException
[Pipeline] junit
Recording test results
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
ERROR: No test report files were found. Configuration error?
Finished: FAILURE

Дженкинсфайл содержит:

#!/usr/bin/env groovy

node {
    stage('checkout') {
        checkout scm
    }

    stage('check java') {
        sh "java -version"
    }

    stage('clean') {
        sh "chmod +x mvnw"
        sh "./mvnw clean"
    }

    stage('install tools') {
        sh "./mvnw com.github.eirslett:frontend-maven-plugin:install-node-and-yarn -DnodeVersion=v6.11.3 -DyarnVersion=v1.1.0"
    }

    stage('yarn install') {
        sh "./mvnw com.github.eirslett:frontend-maven-plugin:yarn"
    }

    stage('backend tests') {
        try {
            sh "./mvnw test"
        } catch(err) {
            throw err
        } finally {
            junit '**/target/surefire-reports/TEST-*.xml'
        }
    }

    stage('frontend tests') {
        try {
            sh "./mvnw com.github.eirslett:frontend-maven-plugin:yarn -Dfrontend.yarn.arguments=test"
        } catch(err) {
            throw err
        } finally {
            junit '**/target/test-results/karma/TESTS-*.xml'
        }
    }

    stage('packaging') {
        sh "./mvnw package -Pprod -DskipTests"
        archiveArtifacts artifacts: '**/target/*.war', fingerprint: true
    }

person curlie    schedule 07.10.2017    source источник


Ответы (1)


плагин JUnit Jenkins имеет флаг, разрешающий пустые результаты теста:

allowEmptyResults (необязательно) Если этот флажок установлен, поведение по умолчанию, связанное со сбоем сборки из-за отсутствующих файлов результатов теста или пустых результатов теста, изменяется, чтобы не влиять на состояние сборки. Обратите внимание, что этот параметр усложняет обнаружение неправильно настроенных заданий или сбоев сборки, когда инструмент тестирования не завершает работу с кодом ошибки, когда не создаются файлы отчета о тестировании.

person Terran    schedule 02.07.2019