Je construis sur mon Ubuntu 14.04 LTS mais j'obtiens ce qui suit:
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
Je suppose que cela est dû à une fonctionnalité de sécurité de Linux qui empêche la création du répertoire/var/lib/jenkins/workspace/videovixx sans les autorisations appropriées Que je n’aurais peut-être pas. Est-ce le problème et comment puis-je le résoudre?
Il y a plusieurs choses ici.
Soit vous n'avez pas sélectionné la version Maven dans la configuration du travail ..__ Ou vous n'avez pas configuré Jenkins pour installer une version Maven ..__ ou vous vous attendiez à utiliser Maven installé localement sur l'esclave, mais ce dernier n'est pas configuré pour l'utilisateur jenkins
.
Puisque je ne sais pas ce que vous avez configuré (ou pas configuré) et ce que vous espériez utiliser, je ne peux pas répondre directement, mais je peux expliquer comment cela fonctionne.
jenkins
userSudo jenkins
, puis exécutez mvn
sur votre esclave pour vérifier que l'utilisateur jenkins
peut exécuter mvn
.Default
. Ce paramètre utilise la version installée localement sur le nœud.Si vous cherchez simplement la solution la plus simple, alors vous devriez aller à la configuration globale de jenkins
http://localhost:32773/configureTools/
Et configurez maven comme ça
Ensuite, vous devez aller à votre projet. Dans les paramètres que vous avez construits. Choisissez le maven que vous avez créé il y a une minute.
Après avoir configuré Maven de manière globale Créé Construisez un projet maven2/3 job au lieu de B Créez un projet logiciel de style libre et le sonar de post-construction fonctionne bien!