web-dev-qa-db-fra.com

Jenkins ne démarre pas sur macOS 10.12 (Sierra)

Après la mise à niveau de macOS vers Sierra, lorsque je démarre Jenkins à l'aide de launchctl load, je ne peux pas me connecter à localhost: 8080. Si j'appelle à nouveau launchctl load, je vois la réponse "service déjà chargé". Il n'y a pas de fichier journal à l'emplacement par défaut/var/log/jenkins/(comme défini dans jenkins-ci.plist). J'ai également essayé de créer jenkins.log là-bas et de le montrer à l'utilisateur jenkins, mais toujours rien n'y est imprimé.

Si j'essaie de démarrer Jenkins en utilisant Java -jar jenkins.war, je peux me connecter à localhost, mais Jenkins fonctionne comme une nouvelle installation.

J'ai le dernier JRE 1.8.0_102 installé.

Comment diagnostiquer le problème?

19
Vladimir Grigorov

Semble que Sierra a changé l'autorisation du dossier Jenkis. La meilleure solution est donc:
1. Ajoutez les autorisations d'exécution à org.jenkins-ci.plist:
Sudo chmod +x /Library/LaunchDaemons/org.jenkins-ci.plist
2. Définissez jenkins comme propriétaire de/var/log/jenkins:
Sudo chown jenkins /var/log/jenkins
3. Démarrer Jenkins:
Sudo launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist

50
mac.slusarek

Cela m'est arrivé lorsque j'ai mis à niveau vers Sierra et j'ai réussi à le résoudre avec la réponse de @ mac.slusarek. Mais cela s'est produit récemment. Cette fois, j'avais autorisé une mise à jour mineure du système d'exploitation et j'avais également joué avec SDK Man pour changer de JDK. Je ne sais pas lequel a cassé mon Jenkins mais cette fois-ci, ce n'était pas un problème d'autorisations.

J'ai remarqué à partir des journaux que Jenkins essayait d'exécuter Java 9-ea, qui n'est apparemment pas encore pris en charge . J'avais installé Jenkins en utilisant le programme d'installation de Jenkins pour Mac , j'ai donc essayé de désinstaller:

/Library/Application\ Support/Jenkins/Uninstall.command

et réinstaller, mais le problème n'a pas disparu.

Ensuite, j'ai trouvé cet article suggérant de l'installer à la place en utilisant Homebrew . C'était aussi simple que de courir:

$brew install jenkins

Comme je ne l'exécute que localement pour le développement, je n'ai pas besoin de le démarrer en tant que démon, alors maintenant je l'exécute simplement en tapant

$jenkins

Problème résolu. J'espère que cela aide les autres.

13
Mig82

J'ai eu le même problème, l'installation du JDK n'a pas fait l'affaire

Cependant, la modification des droits du répertoire des journaux (dans mon cas/var/log/jenkins) et le redémarrage de Jenkins ont fonctionné.

Semble que le passage à Sierra a changé les droits sur ce dossier.

9
Werdeil

Je l'ai corrigé en définissant la variable Java_HOME Appropriée. La façon dont je l'ai diagnostiquée était de regarder les erreurs qui ont été lancées pendant que Jenkins essayait de s'exécuter:

tail -f /var/log/jenkins/jenkins.log

Ensuite, j'ai essayé de l'exécuter:

Sudo launchctl load -w /Library/LaunchDaemons/org.jenkins-ci.plist

S'il indique qu'il est déjà chargé, déchargez-le d'abord:

Sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist

Exécutez-le ensuite:

Sudo launchctl load -w /Library/LaunchDaemons/org.jenkins-ci.plist

L'erreur que j'ai vue était que Jenkins avait besoin de Java 8, pas Java 10. Donc j'ai déchargé:

Sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist

puis installé Java 8. Puis j'ai édité le fichier plist:

Sudo nano /Library/LaunchDaemons/org.jenkins-ci.plist

et ajouté la variable d'environnement Java_HOME appropriée:

<dict>
   <key>JENKINS_HOME</key>
   <string>/Users/Shared/Jenkins/Home</string>
   <key>Java_HOME</key>
   <string>/Library/Java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/Home</string>
</dict>

Enfin, j'ai réessayé la commande launchctl:

Sudo launchctl load -w /Library/LaunchDaemons/org.jenkins-ci.plist

et voilà!

7
Matt H

Comme je l'ai mentionné dans la question, j'avais JRE installé. Après avoir installé JDK, Jenkins peut démarrer normalement.

5

J'ai eu le même problème.

J'ai activé manuellement l'accès en lecture + écriture au

/Users/Shared/Jenkins 

Dossier.

3
Zumry Mohamed

C'est la même chose qui m'est arrivée lorsque je suis passé de Sierra à High Sierra. J'ai suivi les instructions décrites ci-dessus par mac.slusarek, mais l'ID jenkins n'existait plus sur mon ordinateur. J'ai créé l'ID jenkins en tant qu'utilisateur standard. De plus, les fichiers sous/Users/Shared/Jenkins n'appartiennent plus à jenkins. Après avoir effacé le journal des erreurs avec la commande:

Sudo cat /var/log/jenkins/jenkins.log

Après avoir vu l'erreur:

Exception in thread "main" Java.io.IOException: Jenkins has failed to create a 
temporary file in /Users/Shared/Jenkins/tmp
    at Main.extractFromJar(Main.Java:368)
    at Main._main(Main.Java:210)
    at Main.main(Main.Java:112)
 Caused by: Java.io.IOException: Permission denied
    at Java.io.UnixFileSystem.createFileExclusively(Native Method)
    at Java.io.File.createTempFile(File.Java:2024)
    at Main.extractFromJar(Main.Java:365)
    ... 2 more

J'ai fixé la propriété avec la commande:

Sudo chown -R jenkins /Users/Shared/Jenkins
3
Larry Ricker

Dans mon cas, l'installation sur Catalina (OSX 10.15) n'a même pas créé le /var/log/jenkins fichier. j'ai dû

Sudo mkdir /var/log/jenkins

puis prendre possession, puis Jenkins a commencé normalement. Je viens de faire le programme d'installation normal d'OSX, donc je ne sais pas pourquoi l'installation était corrompue.

0
Mark Thormann