Pregunta

Hudson es fácil pero en la actualidad la documentación no se encuentra el tutorial para instalar un Hudson se ejecuta como un demonio / servicio en OS X.

Cuando cambia a la producción que necesita para asegurarse de que se configura y debidamente asegurado.

Requisitos:

  • ser capaz de ejecutarlo en el puerto 80
  • no se está ejecutando como root (o al menos no la ejecución de los trabajos como raíz)
  • asegurar que no se inicia correctamente / parada en los reinicios del sistema
  • activar la actualización automática, que funciona directamente desde la interfaz web.

Lo mejor, sería tener un script de instalación que las descargas última Hudson y lo instala.

Vamos a integrar la mejor respuesta a Hudson wiki.

Recursos:

¿Fue útil?

Solución 2

La solución correcta es la instalación de Hudson dentro de Tomcat Tomcat y hacer carrera como daemon

Esto también cumplir con los requisitos de seguridad y permitirá actualizar Hudson con facilidad.

Aquí está la guía completa para OS X 10.6: https://serverfault.com/questions/183496/ -guía completa para la instalación-tomcat-en-os-x / 183527 # 183527

Otros consejos

Si quieres un Hudson local para ejecutar en tu Mac cada vez que se conecte, prueba esto.

Usted querrá establecer un plist launchctl para ello; eso debería ser algo como esto:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
 <key>UserName</key>
 <string>yourid</string>
 <key>Label</key>
 <string>Hudson</string>
 <key>EnvironmentVariables</key>
   <dict>
     <key>HUDSON_HOME</key>
     <string>/Users/yourid/.hudson</string>
   </dict>
 <key>ProgramArguments</key>
 <array>
 <string>/usr/bin/java</string>
 <string>-jar</string>
 <string>/Users/yourid/Hudson/hudson.war</string>
 </array>
 <key>RunAtLoad</key>
 <true/>
</dict>
</plist>

Esto supone que ha descargado hudson.war a su directorio bajo ~/Hudson, y que desea que se ejecute como a ti mismo (probablemente las mejores decisiones.) Asegúrese de que se define la clave <UserName> o se va a ejecutar como root!

A partir del inicio de sesión

  1. Guardar lo anterior como /Library/LaunchAgents/hudson.plist
  2. Comenzar la primera vez con

    sudo launchctl carga -w /Library/LaunchAgents/hudson.plist

o salir y volver, lo cual va a hacer lo mismo de forma automática.

A partir del reinicio

  1. Guardar lo anterior como /Library/LaunchDaemons/hudson.plist
  2. Comenzar la primera vez con

    sudo launchctl carga -w /Library/LaunchDaemons/hudson.plist

o reiniciar la máquina, lo que va a hacer lo mismo de forma automática.

Reinicio de Hudson

Hudson no puede reiniciar automáticamente bajo OS X, así que si necesitas para detenerlo, emitir el comando restart

launchctl unload -w path_to_plist

He encontrado que a veces no se detiene en la primera ejecución de launchctl unload; en aquellos casos que acabamos de emitir el comando de nuevo.

Esto se ejecutará en el puerto 8080 como si se hubiera ejecutar el comando desde la línea de comandos sí mismo, utilizando el servidor Winstone integrado en el archivo .war.

Me di cuenta que no responde específicamente a la "ejecutarlo en el puerto 80" cuestión, sino para el desarrollo de su propio ordenador portátil, sugiero que esta es una mejor opción.

La pequeña solución que tenía (que también se inicia al iniciar la sesión) fue la siguiente: Primera carrera Hudson manualmente una vez (por lo que se construye de dir .hudson). crear un hudson.command en algún lugar de archivos del equipo en OSX con un contenido un poco como esto:

nohup java -jar .hudson/hudson.war --httpPort=8080 &

A continuación, se abren las preferencias del sistema, seleccione el usuario, y luego Arranque. Haga clic en el botón "+", y usted será capaz de seleccionar el comando con el buscador.

La próxima vez que se conecte, Hudson habrá comenzado.

Desventajas:

  • Hudson tiene ningún usuario específico - es sólo que
  • Hudson está en el puerto 8080
  • reinicia Hudson significar encontrar el proceso, matándolo e iniciar el archivo hudson.command de nuevo.
  • Hudson se inicia sólo una vez que un usuario ha iniciado sesión.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top