tutorial instalar macos continuous-integration hudson jenkins

macos - instalar - jenkins tutorial



No se puede ejecutar Jenkins en Mac (5)

El problema parece haber sido agregado a la Jira de Jenkins, y esperamos que se solucione pronto: https://issues.jenkins-ci.org/browse/JENKINS-11714?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

En mi instalación 10.7.2 he hecho que funcione creando la carpeta de inicio que falta y cambiando el propietario de los Jenkins.

Después de instalar Jenkins, ejecute los siguientes comandos:

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

He descargado el paquete nativo de Mac OS X del sitio web de Jenkins, lo instalé, abrí mi navegador en http://localhost:8080/ y obtuve una página de error con este texto:

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

He encontrado jenkins.war en /Applications/Jenkins y he intentado ejecutarlo con 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)

Como el mensaje de error dice que la Address already in use , he intentado ejecutarlo en otro puerto:

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

Pero recibo el mensaje de error Address already in use , no importa qué puerto lo intente.

He detenido el Firewall, por si acaso (Preferencias del sistema> Seguridad> Firewall> Detener). No ayudó.

He copiado jenkins.war a /Users/zeljko/Jenkins y /Users/zeljko/Jenkins intentado ejecutarlo con java -jar jenkins.war y java -jar jenkins.war --httpPort=8081 . Los mismos mensajes de error.

Descargué el último y mejor (1.441) jenkins.war del sitio web, lo moví a /Users/zeljko/Jenkins y probé java -jar jenkins.war y java -jar jenkins.war --httpPort=8081 . Los mismos mensajes de error.

Ambiente:

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)

Estoy navegando por el sitio web de Jenkins, wiki , book , buscando, pero no entiendo lo que tengo que hacer para que funcione.


Esto se debe principalmente a que el puerto 8080 es usado por otro proceso (en la mayoría de los casos es un proceso tomcat java). Así que al principio, debes ejecutar:

lsof -i:8080

Luego mata el proceso que está usando el puerto 8080.

Después de eso, ejecute su comando de nuevo.

java -jar jenkins.war --httpPort=8081


Esto solucionó el problema:

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

Después de eso pude ejecutar java -jar jenkins.war en /Users/zeljko/Jenkins .

Fuente: https://.com/a/8008901/17469


Parece que el error fue instalar el paquete nativo de Mac OS X. He intentado ejecutar java -jar jenkins.war en una máquina donde acabo de descargar jenkins.war , y funciona bien. Ahora para ver cómo se ejecuta o desinstala el paquete nativo ...


ajp intenta escuchar en el 8009. Parece que tienes a Tomcat en ejecución (por lo tanto, 8080 y 8009 ya están ocupados). Apague el ajp al iniciar Jenkins.

Empezar con:

java -jar jenkins.war --httpPort=8081 --ajp13Port=-1