instalar - Launchd no está iniciando el servidor de Jenkins en OS X Yosemite
jenkins instalar (4)
Bajo OS X 10.9 Jenkins CI se iniciaba automáticamente por launchd. Después de actualizar a 10.10, ya no se está iniciando.
Jenkins se instaló utilizando el instalador OS X de jenkins-ci.org. Estaba ejecutando v1.584. Después de que surgió este problema, volví a instalar usando v1.585 inútilmente.
No hay salida en el archivo de registro especificado en org.jenkins-ci.plist. Syslog tiene varios mensajes que indican que el servicio org.jenkins-ci "no pudo inicializar: 14A389: xpcproxy + 14045 [1344] [1016C726-9ACF-3A24-9C51-A279F5C6B167]: 0xd".
¿Qué ha cambiado en Yosemite que rompió a Jenkins?
¿El "0xd" al final del mensaje de registro es un código de error?
Intenté cargar manualmente y comenzar a través de launchctl. No se emitieron errores a la consola, pero jenkins todavía no se está ejecutando.
El problema no es exclusivo de Jenkins. Tengo otro elemento de lanzamiento que también falla desde la actualización a 10.10: antivirus TrendMicro.
Aquí está la respuesta definitiva.
Asegúrese de tener Java instalado. El instalador 10.10, al menos en mi caso, eliminó el Java 6 de Apple. El java instalado debe cumplir con los enlaces
/usr/bin/java*
. Estos apuntan a/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands
. Al instalar Oracle Java, necesita que el JDK no el JRE cumpla con este requisito.chown jenkins /var/log/jenkins/jenkins.log
Asegúrese de que
/var/log/jenkins
sea propiedad de jenkins y pueda buscarlo cualquier persona (modo 755). Probablemente ya estará en este estado.Edite el archivo
/etc/newsyslog.d/jenkins.conf
, cambiando/var/log/jenkins/jenkins.log 644 3 * $D0 J
a
/var/log/jenkins/jenkins.log jenkins:jenkins 644 3 * $D0 J
Esto asegura que los nuevos archivos de registro creados durante la rotación de registros nocturnos son propiedad de jenkins. Si no lo hace, deberá repetir el paso 2 todos los días.
El paso 4 de la respuesta de @kjones es probablemente innecesario ya que launchd
intenta iniciar jenkins cada 10 segundos.
El ''0xd'' al final del mensaje de registro que publiqué es el código de error: Permiso denegado.
¿Qué cambió en el launchd
? /var/log/jenkins/jenkins.log
se especifica como la Standard{Error,Out}Path
en org.jenkins-ci.plist
. Mi teoría es que antes del lanzamiento de Yosemite abrí el archivo y configuré STDOUT & STDERR antes de cambiar el propietario del proceso a "jenkins" y ejecutar jenkins-runner.sh. En Yosemite, parece que launchd no abre el archivo hasta después de que ha cambiado la propiedad del proceso, por lo tanto, "permiso denegado" cuando el archivo es propiedad de root.
Esto solucionó el problema en mi extremo:
1) Obtenido la última actualización de java para java 8 de https://www.java.com/en/download/help/mac_10_10.xml
2) sudo chown jenkins /var/log/jenkins/jenkins.log
3) sudo launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist
Estos son los pasos que tuve que tomar:
Agregue permisos de ejecución a org.jenkins-ci.plistsudo chmod + x /Library/LaunchDaemons/org.jenkins-ci.plist
Establezca a jenkins como el propietario de / var / log / jenkins
sudo chown jenkins / var / log / jenkins
Comience Jenkins
launchctl start /Library/LaunchDaemons/org.jenkins-ci.plist
Ya no podría ser necesario. Descargué jenkins-1.588 de http://jenkins-ci.org , elegí el paquete nativo Mac OS X, ejecuté el instalador, lo busqué en Aplicaciones / Jenkins y se ejecuta. Estoy ejecutando 10.10 (14A389).