Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can not run Jenkins on Mac

Tags:

I have downloaded Mac OS X native package from Jenkins web site, installed it, opened my browser at http://localhost:8080/ and got error page with this text:

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 

I have found jenkins.war in /Applications/Jenkins and tried running it with 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) 

Since the error message says Address already in use I have tried running it on another 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) 

But I get Address already in use error message, it does not matter which port I try.

I have stopped Firewall, just in case (System Preferences > Security > Firewall > Stop). It did not help.

I have copied jenkins.war to /Users/zeljko/Jenkins and tried running it with java -jar jenkins.war and java -jar jenkins.war --httpPort=8081. The same error messages.

I have downloaded Latest and greatest (1.441) jenkins.war from the web site, moved it to /Users/zeljko/Jenkins, and tried java -jar jenkins.war and java -jar jenkins.war --httpPort=8081. The same error messages.

Environment:

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) 

I am browsing Jenkins web site, wiki, book, searching around, but I just do not get what I have to do to get it working.

like image 744
Željko Filipin Avatar asked Nov 29 '11 11:11

Željko Filipin


People also ask

Can you run Jenkins on Mac?

Jenkins is a platform that is autonomous, and can be used on Windows, Mac or any other operating system. In this article, we will learn how to install Jenkins on Mac OS.

How do I start and stop Jenkins on a Mac?

Starting and stopping Jenkins To stop Jenkins, you can go to the terminal window where you started the Docker container and hit Command + C. This will stop the process running the Docker container thus stopping Jenkins. If you need to start Jenkins again, run the exact same command as when you have installed Jenkins.


2 Answers

The issue appears to have been added to Jenkins' Jira, and hopefully will be fixed soon: https://issues.jenkins-ci.org/browse/JENKINS-11714?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

On my 10.7.2 installation I've made it work by creating the missing Home folder and changing the owner of the Jenkins.

After installing Jenkins, run the following commands:

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 
like image 164
awulf Avatar answered Sep 17 '22 19:09

awulf


This fixed the problem:

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

After that I could run java -jar jenkins.war at /Users/zeljko/Jenkins.

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

like image 26
Željko Filipin Avatar answered Sep 19 '22 19:09

Željko Filipin