Работа Jenkins Не удается найти JDK, но JDK настроен в Jenkins - PullRequest
0 голосов
/ 13 февраля 2020

Я пытался создать тестовую работу на Jenkins, но получаю ошибку JRE. Идея проста:

1) задание выполнит простую команду тестирования "mvn clean test" 2) Плагин Allure report будет генерировать тест на основе результатов теста.

Я не могу получить результаты, полученные на задании Jenkins.

Однако, когда я запускаю команду "mvn clean test" в командной строке. Я не получаю никаких ошибок, результаты теста генерируются. Я вижу, что Maven и JDK-путь верны, когда я запускаю следующий конвейер.

node('master') {
    stage ('Run tests')
    dir ('C:/Program Files (x86)/Jenkins/ProjectDirectory') {
        try {
            bat '''mvn -version'''
        }
        catch (Exception ex) { currentBuild.result = 'UNSTABLE' }
        finally {
            stage ('Publish report')
            step([$class: 'AllureReportPublisher', includeProperties: false, jdk: 'jdk-1.8', results: [[path: '/target/surefire-reports']]]) 
        }
    }
}

Выходы:

C:\Program Files (x86)\Jenkins\ProjectDirectory>mvn -version 
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: C:\3rd_party\apache-maven-3.6.3\bin\..
Java version: 1.8.0_191, vendor: Oracle Corporation, runtime: C:\Program Files (x86)\Java\jre1.8.0_191
Default locale: en_US, platform encoding: Cp1252
OS name: "windows server 2016", version: "10.0", arch: "x86", family: "windows"

Если я запускаю тесты в конвейере Jenkins, я получаю следующую ошибку.

[ERROR] COMPILATION ERROR : 
[INFO] -------------------------------------------------------------
[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
[INFO] 1 error
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  0.942 s
[INFO] Finished at: 2020-02-07T14:51:07Z
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.6.1:testCompile (default-testCompile) on project restassuredcourse: Compilation failure
[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?

У меня правильный путь JDK в разделе «Управление Jenkins> Настройка системы». enter image description here

Если я выполню "mvn -version" в конвейере Jenkins. Я вижу, что машина Дженкинса может получить доступ к правильному пути.

Ответы [ 2 ]

0 голосов
/ 14 февраля 2020

Просто для проверки я сгенерировал файл gradle.build и вместо выполнения "mvn clean test". Я использовал «gradlew clean test», и это сработало. Проблема в maven, но я не мог понять, почему maven не использует системный JDK.

0 голосов
/ 13 февраля 2020

В моем локальном Jenkins я не объявляю JDK в конфигурациях Jenkins.

Попробуйте удалить JDK в конфигурации Jenkins, и Jenkins будет использовать путь JAVA_HOME из вашей операционной системы.

...