Ich mache einen Build auf meinem Ubuntu 14.04 LTS, erhalte aber Folgendes:
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
Ich gehe davon aus, dass dies durch ein Linux-Sicherheitsmerkmal verursacht wird, das die Erstellung von/var/lib/jenkins/workspace/videovixx ohne die richtigen Berechtigungen Verhindert, die ich möglicherweise nicht habe. Ist das das Problem und wie löse ich es?
Hier gibt es mehrere Dinge.
Sie haben entweder die Maven-Version in der Jobkonfiguration nicht ausgewählt Oder Sie haben Jenkins nicht für die Installation einer Maven-Version konfiguriert Sie haben erwartet, lokal installierte Maven auf dem Slave zu verwenden, aber sie ist nicht für den Benutzer jenkins
konfiguriert .
Da ich nicht weiß, was Sie konfiguriert haben (oder nicht konfiguriert haben) und was Sie erwartet haben, kann ich nicht direkt antworten, aber ich kann erklären, wie es funktioniert.
jenkins
user starten könnenSudo jenkins
und dann mvn
auf Ihrem Slave aus, um zu überprüfen, ob der Benutzer jenkins
mvn
ausführen kann.Default
auswählen. Diese Einstellung verwendet die lokal auf dem Knoten installierte VersionWenn Sie nur nach einer einfachsten Lösung suchen, sollten Sie zur globalen Konfiguration von Jenkins wechseln
http://localhost:32773/configureTools/
Und Maven so konfigurieren
Dann musst du zu deinem Projekt gehen. In den Einstellungen, die Sie erstellt haben. Wähle einen Maven, den du vor einer Minute erstellt hast.
Nachdem Sie Maven global konfiguriert haben Erstellt Erstellen Sie ein Maven2/3-Projekt Job anstelle von B, um ein Free-Style-Softwareprojekt zu erstellen und Postbuild-Sonar funktioniert einwandfrei!