Сбой сборки Maven в Jenkins: mvn: команда не найдена - PullRequest
0 голосов
/ 04 апреля 2019

Я установил Jenkins и Maven отдельно на моем сервере Linux. Maven работает из командной строки. Я проверил, дав mvn -version, и он дал следующий вывод:

Apache Maven 3.2.5 
Maven home: /data1/SOA/app/oracle/product/middleware/Oracle_Home/oracle_common/modules/org.apache.maven_3.2.5
Java version: 1.8.0_151, vendor: Oracle Corporation
Java home: /data1/setup_files/JDK1.8/jdk1.8.0_151/jre
Default locale: en_GB, platform encoding: UTF-8
OS name: "linux", version: "3.8.13-55.1.6.el7uek.x86_64", arch: "amd64", family: "unix"

Но от Дженкинса, когда я пытаюсь создать maven-сборку от Дженкинса со скриптом ниже:

export M2_HOME=/data1/SOA/app/oracle/product/middleware/Oracle_Home/oracle_common/modules/org.apache.maven_3.2.5
export PATH=$PATH:$M2_HOME/bin
echo "Java Version"
java -version
echo "Maven Version"
mvn -version

Выдает следующую ошибку:

+ echo 'Java Version'
Java Version
+ java -version
java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)
+ echo 'Maven Version'
Maven Version
+ mvn -version
/tmp/jenkins6612268406133694375.sh: line 7: mvn: command not found
Build step 'Execute shell' marked build as failure

Я просмотрел несколько ссылок и блогов, но ни один из шагов не помог. Я сделал следующее:

В Управление Дженкинс -> Конфигурация -> Переменные среды -> установить JAVA_HOME, M2_HOME, ORACLE_HOME, PATH

В разделе Управление Jenkins -> Глобальная конфигурация инструмента -> установите JAVA_HOME и MAVEN_HOME в каталог установки на сервере

Я также перезапустил Дженкинс и проверил, но все та же проблема.

Ответы [ 2 ]

1 голос
/ 05 апреля 2019

Оболочка исполнения не знает о настройках Maven;только тип задания или шаг maven.

Предполагается, что Jenkins 2.x, Under Jenkins |Управление Дженкинс |Глобальная конфигурация инструмента, есть раздел под названием «Maven» - установки Maven

, нажмите «Добавить Maven»

Имя: «Maven-3.2.5» MAVEN_HOME: / data1 / SOA / app / oracle/product/middleware/Oracle_Home/oracle_common/modules/org.apache.maven_3.2.5

В этом случае ваша работа по фристайлу должна иметь шаг «Вызвать цели Maven верхнего уровня».

Установите "Maven Version": "Maven-3.2.5".

Вы можете выполнять шаги оболочки до и после, чтобы иметь дело с любыми не-maven шагами в вашей работе.

0 голосов
/ 04 апреля 2019

вы используете Jenkinsfile для своего конвейера?Если это так, попробуйте добавить следующую часть в ваш конвейерный сценарий:

    tools {
        maven 'Maven 3.2.5'
    }

Это делает трюк в нашем проекте

...