it-swarm.com.ru

Невозможно запустить программу "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$1.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 без правильных разрешений , Которых у меня может не быть. Это проблема и как мне ее решить?

21
Mario Dennis

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

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

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

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

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

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

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

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

http://localhost:32773/configureTools/

И настроить Maven так

 enter image description here

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

 enter image description here

19
Marcin Szymczak

После настройки Maven в глобальном масштабе Создано Создайте проект maven2/3 job вместо B создайте проект программного обеспечения в свободном стиле и сонар после сборки работает отлично!

0
Radhakrishnan