webentwicklung-frage-antwort-db.com.de

Jenkins-Fehler: jenkins.model.InvalidBuildsDir: $ {ITEM_ROOTDIR}/builds ist nicht vorhanden und kann wahrscheinlich nicht erstellt werden

ich habe Jenkins von der apt-Befehlszeile auf Ubuntu aktualisiert. Ich habe Sudo apt Upgrade-Jenkins sofort nach dem Update durchgeführt. Ich erhalte Folgendes:

jenkins.model.InvalidBuildsDir: ${ITEM_ROOTDIR}/builds does not exist and 
probably cannot be created
at jenkins.model.Jenkins.checkRawBuildsDir(Jenkins.Java:3085)
at jenkins.model.Jenkins.loadConfig(Jenkins.Java:3009)
Caused: Java.io.IOException
at jenkins.model.Jenkins.loadConfig(Jenkins.Java:3012)
at jenkins.model.Jenkins.access$1200(Jenkins.Java:304)
at jenkins.model.Jenkins$14.run(Jenkins.Java:3104)
at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run 
(TaskGraphBuilder.Java:169)
at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.Java:296)
at jenkins.model.Jenkins$5.runTask(Jenkins.Java:1068)
at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.Java:214)
at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.Java:117)
at Java.util.concurrent.ThreadPoolExecutor.runWorker
(ThreadPoolExecutor.Java:1149)
at Java.util.concurrent.ThreadPoolExecutor$Worker.run
(ThreadPoolExecutor.Java:624)
at Java.lang.Thread.run(Thread.Java:748)
Caused: org.jvnet.hudson.reactor.ReactorException
at org.jvnet.hudson.reactor.Reactor.execute(Reactor.Java:282)
at jenkins.InitReactorRunner.run(InitReactorRunner.Java:48)
at jenkins.model.Jenkins.executeReactor(Jenkins.Java:1102)
at jenkins.model.Jenkins.<init>(Jenkins.Java:904)
at hudson.model.Hudson.<init>(Hudson.Java:85)
at hudson.model.Hudson.<init>(Hudson.Java:81)
at hudson.WebAppMain$3.run(WebAppMain.Java:233)
Caused: hudson.util.HudsonFailedToLoad
at hudson.WebAppMain$3.run(WebAppMain.Java:250)
3
chandra

Ich habe dies erlebt, als das $JENKINS_HOME/jobs-Verzeichnis falsche Berechtigungen oder Besitzrechte hatte. In meinem speziellen Fall hatte ich Jobs auf einem Testserver und hatte vergessen, den Dateibesitz zu aktualisieren, damit er mit dem Benutzer übereinstimmt, auf dem Jenkins auf dem Testsystem ausgeführt wird. Durch das Ändern des Besitzes zum richtigen Benutzer wurde das Problem behoben.

Es gibt wahrscheinlich mehrere Gründe, warum dieser Fehler auftreten kann, aber ich würde zunächst die Dateien und Verzeichnisse unter $JENKINS_HOME überprüfen, um sicherzustellen, dass der Benutzer, der den Jenkins-Prozess ausführt, sie lesen und schreiben kann.

2
Peter Rebholz

Ich habe gerade eine Lösung gefunden. Nach dem Update hatte Jenkins Home-Verzeichnis eine Fülle von Dateien mit ubuntu- und jenkins-Besitzern. Ich habe gerade den Besitzer für alle zurück auf jenkins gewechselt:

Sudo chown -R jenkins:jenkins $JENKINS_HOME
1