it-swarm.com.de

Kann Jenkins nicht auf Mac ausführen

Ich habe das native Mac OS X-Paket von Jenkins Website heruntergeladen, es installiert, meinen Browser unter http: // localhost: 8080/ geöffnet und eine Fehlerseite mit diesem Text erhalten:

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

Ich habe jenkins.war in /Applications/Jenkins gefunden und habe versucht, es mit Java -jar jenkins.war auszuführen:

$ 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)

Da in der Fehlermeldung Address already in use angegeben ist, habe ich versucht, es an einem anderen Port auszuführen:

$ 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)

Aber ich erhalte Address already in use Fehlermeldung, es ist egal, welchen Port ich versuche.

Ich habe die Firewall für alle Fälle gestoppt (Systemeinstellungen> Sicherheit> Firewall> Stopp). Es hat nicht geholfen.

Ich habe jenkins.war nach /Users/zeljko/Jenkins kopiert und versucht, es mit Java -jar jenkins.war und Java -jar jenkins.war --httpPort=8081 auszuführen. Die gleichen Fehlermeldungen.

Ich habe Neueste und beste (1.441) jenkins.war von der Website heruntergeladen, nach /Users/zeljko/Jenkins verschoben und Java -jar jenkins.war und Java -jar jenkins.war --httpPort=8081 ausprobiert. Die gleichen Fehlermeldungen.

Umgebung:

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)

Ich browse in Jenkins Website , wiki , book , suche herum, aber ich bekomme einfach nicht das, was ich tun muss, damit es funktioniert.

21
Željko Filipin

Das Problem wurde anscheinend zu Jenkins 'Jira hinzugefügt und wird hoffentlich bald behoben: https://issues.jenkins-ci.org/browse/JENKINS-11714?page=com.atlassian.jira.plugin.system .issuetabpanels: All-Tabpanel

Bei meiner 10.7.2-Installation habe ich es geschafft, den fehlenden Home-Ordner zu erstellen und den Besitzer der Jenkins zu ändern.

Führen Sie nach der Installation von Jenkins die folgenden Befehle aus:

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

Das Problem wurde behoben:

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

Danach konnte ich Java -jar jenkins.war bei /Users/zeljko/Jenkins ausführen.

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

8
Željko Filipin

ajp versucht, auf 8009 zu hören. Es sieht so aus, als hätten Sie Tomcat laufen lassen (daher sind 8080 und 8009 bereits belegt). Ajp ausschalten, wenn Sie Jenkins starten.

Beginnen mit:

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

Der Fehler war die Installation des nativen Pakets von Mac OS X. Ich habe versucht, Java -jar jenkins.war auf einer Maschine auszuführen, auf die ich gerade jenkins.war heruntergeladen habe, und es funktioniert einwandfrei. Nun sehen Sie, wie Sie das native Paket ausführen oder deinstallieren können ...

0
Željko Filipin

Dies ist hauptsächlich darauf zurückzuführen, dass der 8080-Port von einem anderen Prozess verwendet wird (in den meisten Fällen handelt es sich um einen Tomcat-Java-Prozess). Also sollten Sie zuerst ausführen: 

lsof -i:8080

Beenden Sie anschließend den Prozess, der den Port 8080 verwendet.

Danach führen Sie Ihren Befehl erneut aus.

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