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.
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
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.
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
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 ...
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