web-dev-qa-db-fra.com

Impossible de lancer Jenkins sur Mac

J'ai téléchargé le package natif pour Mac OS X à partir de Jenkins site Web , l’a installé, ouvrez mon navigateur à http: // localhost: 8080/ et vous obtenez une page d’erreur contenant ce texte:

Status Code: 404
Exception: Request URL / not found.<br><br>
Stacktrace:
Generated by Winstone Servlet Engine v0.9.10 at Tue Nov 29 12:00:52 CET 2011

J'ai trouvé jenkins.war dans /Applications/Jenkins et j'ai essayé de l'exécuter avec Java -jar jenkins.war:

$ pwd
/Applications/Jenkins


$ ls
jenkins.war

$ Java -jar jenkins.war
Running from: /Applications/Jenkins/jenkins.war
webroot: $user.home/.jenkins
[Winstone 2011/11/29 12:03:12] - Beginning extraction from war file
Jenkins home directory: /Users/zeljko/.jenkins found at: $user.home/.jenkins
[Winstone 2011/11/29 12:03:16] - Winstone shutdown successfully
[Winstone 2011/11/29 12:03:16] - Container startup failed
Java.io.IOException: Failed to start a listener: winstone.HttpListener
    at winstone.Launcher.spawnListener(Launcher.Java:250)
    at winstone.Launcher.<init>(Launcher.Java:202)
    at winstone.Launcher.main(Launcher.Java:398)
    at Sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at Sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.Java:39)
    at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:25)
    at Java.lang.reflect.Method.invoke(Method.Java:597)
    at Main._main(Main.Java:268)
    at Main.main(Main.Java:96)
Caused by: Java.io.IOException: Failed to listen on port 8080
    at winstone.HttpListener.getServerSocket(HttpListener.Java:117)
    at winstone.HttpListener.start(HttpListener.Java:70)
    at winstone.Launcher.spawnListener(Launcher.Java:241)
    ... 8 more
Caused by: Java.net.BindException: Address already in use
    at Java.net.PlainSocketImpl.socketBind(Native Method)
    at Java.net.PlainSocketImpl.bind(PlainSocketImpl.Java:383)
    at Java.net.ServerSocket.bind(ServerSocket.Java:328)
    at Java.net.ServerSocket.<init>(ServerSocket.Java:194)
    at Java.net.ServerSocket.<init>(ServerSocket.Java:150)
    at winstone.HttpListener.getServerSocket(HttpListener.Java:112)
    ... 10 more

Nov 29, 2011 12:03:16 PM jenkins.model.Jenkins$6 onAttained
INFO: Started initialization
Nov 29, 2011 12:03:16 PM hudson.WebAppMain$2 run
SEVERE: Failed to initialize Jenkins
Java.lang.InterruptedException
    at Java.lang.Object.wait(Native Method)
    at Java.lang.Object.wait(Object.Java:485)
    at org.jvnet.hudson.reactor.Reactor.execute(Reactor.Java:244)
    at jenkins.model.Jenkins.executeReactor(Jenkins.Java:816)
    at jenkins.model.Jenkins.<init>(Jenkins.Java:730)
    at hudson.model.Hudson.<init>(Hudson.Java:81)
    at hudson.model.Hudson.<init>(Hudson.Java:77)
    at hudson.WebAppMain$2.run(WebAppMain.Java:217)

Puisque le message d'erreur indique Address already in use, j'ai essayé de l'exécuter sur un autre port:

$ Java -jar jenkins.war --httpPort=8081
Running from: /Applications/Jenkins/jenkins.war
webroot: $user.home/.jenkins
[Winstone 2011/11/29 12:11:26] - Beginning extraction from war file
Jenkins home directory: /Users/zeljko/.jenkins found at: $user.home/.jenkins
[Winstone 2011/11/29 12:11:27] - HTTP Listener started: port=8081
[Winstone 2011/11/29 12:11:27] - Winstone shutdown successfully
[Winstone 2011/11/29 12:11:27] - Container startup failed
Java.io.IOException: Failed to start a listener: winstone.ajp13.Ajp13Listener
    at winstone.Launcher.spawnListener(Launcher.Java:250)
    at winstone.Launcher.<init>(Launcher.Java:203)
    at winstone.Launcher.main(Launcher.Java:398)
    at Sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at Sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.Java:39)
    at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:25)
    at Java.lang.reflect.Method.invoke(Method.Java:597)
    at Main._main(Main.Java:268)
    at Main.main(Main.Java:96)
Caused by: Java.io.IOException: Failed to listen on port 8009
    at winstone.ajp13.Ajp13Listener.start(Ajp13Listener.Java:92)
    at winstone.Launcher.spawnListener(Launcher.Java:241)
    ... 8 more
Caused by: Java.net.BindException: Address already in use
    at Java.net.PlainSocketImpl.socketBind(Native Method)
    at Java.net.PlainSocketImpl.bind(PlainSocketImpl.Java:383)
    at Java.net.ServerSocket.bind(ServerSocket.Java:328)
    at Java.net.ServerSocket.<init>(ServerSocket.Java:194)
    at Java.net.ServerSocket.<init>(ServerSocket.Java:150)
    at winstone.ajp13.Ajp13Listener.start(Ajp13Listener.Java:87)
    ... 9 more

Nov 29, 2011 12:11:27 PM jenkins.model.Jenkins$6 onAttained
INFO: Started initialization
Nov 29, 2011 12:11:27 PM hudson.WebAppMain$2 run
SEVERE: Failed to initialize Jenkins
Java.lang.InterruptedException
    at Java.lang.Object.wait(Native Method)
    at Java.lang.Object.wait(Object.Java:485)
    at org.jvnet.hudson.reactor.Reactor.execute(Reactor.Java:244)
    at jenkins.model.Jenkins.executeReactor(Jenkins.Java:816)
    at jenkins.model.Jenkins.<init>(Jenkins.Java:730)
    at hudson.model.Hudson.<init>(Hudson.Java:81)
    at hudson.model.Hudson.<init>(Hudson.Java:77)
    at hudson.WebAppMain$2.run(WebAppMain.Java:217)

Mais j’obtiens un message d’erreur Address already in use, peu importe le port que j’essaie.

J'ai arrêté le pare-feu, juste au cas où (Préférences Système> Sécurité> Pare-feu> Arrêter). Cela n'a pas aidé.

J'ai copié jenkins.war dans /Users/zeljko/Jenkins et essayé de l'exécuter avec Java -jar jenkins.war et Java -jar jenkins.war --httpPort=8081. Les mêmes messages d'erreur.

J'ai téléchargé Dernières et meilleures (1.441) jenkins.war depuis le site Web, je les ai déplacées vers /Users/zeljko/Jenkins et j'ai essayé Java -jar jenkins.war et Java -jar jenkins.war --httpPort=8081. Les mêmes messages d'erreur.

Environnement:

Mac OS X 10.6.8

$ Java -version
Java version "1.6.0_29"
Java(TM) SE Runtime Environment (build 1.6.0_29-b11-402-10M3527)
Java HotSpot(TM) 64-Bit Server VM (build 20.4-b02-402, mixed mode)

Je suis en train de naviguer sur Jenkins site Web , wiki , livre , mais je ne comprends tout simplement pas ce que je dois faire pour le faire fonctionner.

21
Željko Filipin

Le problème semble avoir été ajouté à la Jira de Jenkins et, espérons-le, corrigé bientôt: https://issues.jenkins-ci.org/browse/JENKINS-11714?page=com.atlassian.jira.plugin.system .issuetabpanels: tout-tabpanel

Sur mon installation 10.7.2, je l'ai fait fonctionner en créant le dossier Accueil manquant et en changeant le propriétaire du Jenkins.

Après avoir installé Jenkins, exécutez les commandes suivantes:

Sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist
Sudo mkdir -p /Users/Shared/Jenkins/Home
Sudo chown -R daemon /Users/Shared/Jenkins
Sudo launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist
19
awulf

Cela a résolu le problème:

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

Après cela, je pourrais exécuter Java -jar jenkins.war à /Users/zeljko/Jenkins.

Source: https://stackoverflow.com/a/8008901/17469

8
Željko Filipin

ajp essaie d'écouter sur 8009. On dirait que Tomcat est en cours d'exécution (par conséquent, 8080 et 8009 sont déjà occupés). Désactivez ajp lorsque vous démarrez Jenkins.

Commencer avec:

Java -jar jenkins.war --httpPort=8081 --ajp13Port=-1
7
zai

On dirait que l’erreur a été d’installer le package natif de Mac OS X. J'ai essayé d'exécuter Java -jar jenkins.war sur une machine sur laquelle je viens de télécharger jenkins.war, et cela fonctionne bien. Maintenant, pour savoir comment faire fonctionner le paquet natif ou le désinstaller ...

0
Željko Filipin

Ceci est principalement dû au fait que le port 8080 est utilisé par un autre processus (dans la plupart des cas, il s'agit d'un processus Java Tomcat). Donc, au début, vous devriez exécuter: 

lsof -i:8080

Tuez ensuite le processus qui utilise le port 8080.

Après cela, exécutez à nouveau votre commande.

Java -jar jenkins.war --httpPort=8081
0
mainframer