Gitlab CI / CD runner: команда mvn не найдена - PullRequest
0 голосов
/ 27 сентября 2018

Maven хорошо установлен на моем gitlab-runner сервере.При выполнении mvn clean непосредственно в моем репо это работает, при запуске моего конвейера с использованием пользовательского интерфейса Gitlab получена эта ошибка:

bash: строка 60: mvn: команда не найдена

ОШИБКА:Задание не выполнено: состояние выхода 1

Я заметил, что попытался устранить проблему, добавив раздел before_script в файл .gitlab-ci.yml :

before_script:    
- export MAVEN_HOME=/usr/local/apache-maven

Я также добавляю строку:

environment = ["MAVEN_HOME=/usr/local/apache-maven"]

в файл config.toml .

Проблема по-прежнему сохраняется, мой исполнитель: оболочка .

Любой совет!

Ответы [ 4 ]

0 голосов
/ 01 марта 2019

Я надеюсь, что вы выяснили свой вопрос.Я встретил тот же вопрос, когда строил свой CI на своем сервере.

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

1 проверьте пользователя на сервере бегуна

, если вы успешно установили maven на сервере бегуна, возможно, это просто успешно для рута, вы можете проверитьреальный пользователь процесса ci.

job1:
  stage: test
  script:  whoami

если в моем случае он напечатает gitlab-runner, а не root

2 su для реального пользователя, проверьте mvn еще раз

В это время выводится сообщение об ошибке, аналогичное интерфейсу пользователя Gitlab ci.

3 Установите Maven для реального пользователя.снова запустите трубопровод.

0 голосов
/ 27 сентября 2018

Мне удалось решить проблему с помощью этого обходного пути:

  script:
    - $MAVEN_HOME/bin/mvn clean
0 голосов
/ 01 января 2019

Просто добавьте изображение Maven Docker, добавьте нижнюю строку в качестве первой строки:

image: maven:latest or image: maven:3-jdk-10 or image: maven:3-jdk-9

см .: https://docs.gitlab.com/ee/ci/examples/artifactory_and_gitlab/

0 голосов
/ 27 сентября 2018

Добавить maven в PATH:

$ export M2_HOME=/usr/local/apache-maven/apache-maven-3.3.9

$ export M2=$M2_HOME/bin

$ export PATH=$M2:$PATH 

Вы можете включить эти команды в $HOME/.bashrc

...