Erreur de lancement Jenkins: jenkins.model.InvalidBuildsDir: $ {ITEM_ROOTDIR} / builds n’existe pas et ne peut probablement pas être créé

J’ai mis à jour Jenkins depuis la ligne de commande d’apt sur Ubuntu, j’ai fait sudo pour mettre à jour jenkins immédiatement après la mise à jour que je reçois ceci:

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.(Jenkins.java:904) at hudson.model.Hudson.(Hudson.java:85) at hudson.model.Hudson.(Hudson.java:81) at hudson.WebAppMain$3.run(WebAppMain.java:233) Caused: hudson.util.HudsonFailedToLoad at hudson.WebAppMain$3.run(WebAppMain.java:250) 

J’ai rencontré ce $JENKINS_HOME/jobs lorsque le $JENKINS_HOME/jobs comportait des permissions ou une propriété incorrectes. Dans mon cas spécifique, j’avais synchronisé des tâches sur un serveur de test et oublié de mettre à jour la propriété du fichier pour correspondre à l’utilisateur sous lequel Jenkins s’exécutait sur le système de test. La modification de la propriété pour l’utilisateur correct a résolu le problème.

Il y a probablement un certain nombre de raisons pour lesquelles cette erreur peut se produire, mais je commencerais par examiner les fichiers et répertoires sous $JENKINS_HOME pour vérifier que l’utilisateur exécutant le processus Jenkins peut lire et y écrire.