Не удается запустить программу" mvn " error=2, нет такого файла или каталога

Я делаю сборку на моем Ubuntu 14.04 LTS, но я получаю следующее:

Started by user anonymous
Building in workspace /var/lib/jenkins/workspace/videovixx
 > /usr/bin/git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
 > /usr/bin/git config remote.origin.url https://bitbucket.org/mdennis10/videovixx.git #     timeout=10
Fetching upstream changes from https://bitbucket.org/mdennis10/videovixx.git
 > /usr/bin/git --version # timeout=10
using .gitcredentials to set credentials
 > /usr/bin/git config --local credential.helper store --    file=/tmp/git6236060328558794078.credentials # timeout=10
 > /usr/bin/git fetch --tags --progress https://bitbucket.org/mdennis10/videovixx.git   +refs/heads/*:refs/remotes/origin/*
 > /usr/bin/git config --local --remove-section credential # timeout=10
 > /usr/bin/git rev-parse refs/remotes/origin/master^{commit} # timeout=10
 > /usr/bin/git rev-parse refs/remotes/origin/origin/master^{commit} # timeout=10
Checking out Revision f5c53e95d33c1e15abd7519346c18ec6bc0c81d7      (refs/remotes/origin/master)
 > /usr/bin/git config core.sparsecheckout # timeout=10
 > /usr/bin/git checkout -f f5c53e95d33c1e15abd7519346c18ec6bc0c81d7
 > /usr/bin/git rev-list f5c53e95d33c1e15abd7519346c18ec6bc0c81d7 # timeout=10
[videovixx] $ mvn install package
FATAL: command execution failed
java.io.IOException: Cannot run program "mvn" (in directory    "/var/lib/jenkins/workspace/videovixx"): error=2, No such file or directory
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1047)
    at hudson.Proc$LocalProc.<init>(Proc.java:244)
    at hudson.Proc$LocalProc.<init>(Proc.java:216)
    at hudson.Launcher$LocalLauncher.launch(Launcher.java:802)
    at hudson.Launcher$ProcStarter.start(Launcher.java:380)
    at hudson.Launcher$ProcStarter.join(Launcher.java:387)
    at hudson.tasks.Maven.perform(Maven.java:328)
    at hudson.tasks.BuildStepMonitor.perform(BuildStepMonitor.java:20)
    at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:770)
    at hudson.model.Build$BuildExecution.build(Build.java:199)
    at hudson.model.Build$BuildExecution.doRun(Build.java:160)
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:533)
    at hudson.model.Run.execute(Run.java:1745)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
    at hudson.model.ResourceController.execute(ResourceController.java:89)
    at hudson.model.Executor.run(Executor.java:240)
Caused by: java.io.IOException: error=2, No such file or directory
    at java.lang.UNIXProcess.forkAndExec(Native Method)
    at java.lang.UNIXProcess.<init>(UNIXProcess.java:186)
    at java.lang.ProcessImpl.start(ProcessImpl.java:130)
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1028)
    ... 15 more
Build step 'Invoke top-level Maven targets' marked build as failure
Archiving artifacts
Recording test results
Finished: FAILURE

Я предполагаю, что это вызвано некоторой функцией безопасности linux, которая останавливает создание /var/lib/jenkins / workspace/videovixx без правильных разрешений а может, и нет. Это проблема и как ее решить?

3 ответов


здесь есть несколько вещей.

вы либо не выбрали версию Maven в конфигурации задания. Или вы не настроили Дженкинса для установки версии Maven. Или вы ожидали использовать локально установленный Maven на ведомом устройстве, но он не настроен для jenkins пользователей.

поскольку я не знаю, что вы настроили (или не настроили) и что вы ожидали использовать, я не могу ответить напрямую, но я могу объяснить, как это работает.

если вы хотите использовать локально установлен Maven на master / slave

  • вы должны иметь Maven локально установлен
  • вы должны быть в состоянии запустить его с jenkins пользователей
    1. выполнить sudo jenkins, а затем выполнить mvn на вашем Рабе, чтобы проверить это jenkins пользователь может работать mvn
    2. если это не удается, вам необходимо правильно установить / настроить Maven
  • в конфигурации задания, для версии Maven, вы должны выберите Default. Это параметр, который использует версию, установленную локально на узле

если вы хотите, чтобы Дженкинс установил Maven для вас

  • вы должны перейти к глобальной конфигурации Дженкинса и настроить версию Maven с помощью автоматического установщика (из интернета).
  • в конфигурации задания для версии Maven необходимо выбрать это конкретная версия, которую вы только что настроили.

Если вы просто ищете простейшее решение, то вы должны перейти к глобальной конфигурации Дженкинса

http://localhost:32773/configureTools/

и настроить maven так

enter image description here

затем вы должны перейти к своему проекту. Внутри настроек у вас есть build. Выберите maven, который вы создали минуту назад.

enter image description here


после настройки Maven в глобальном масштабе Создано создайте проект maven2 / 3 задание вместо Build свободный программный проект и после сборки гидролокатор работает нормально!