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?
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
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.
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.
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à!
Comme je l'ai mentionné dans la question, j'avais JRE installé. Après avoir installé JDK, Jenkins peut démarrer normalement.
J'ai eu le même problème.
J'ai activé manuellement l'accès en lecture + écriture au
/Users/Shared/Jenkins
Dossier.
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
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.