Servicio/aplicación se inicie durante el arranque se hace generalmente con launchd y lanzar los demonios controlados por launchctl. Depende de la aplicación o ejecutable y el medio ambiente, si en dicho lanzamiento, el demonio es posible o no. Un montón de GUI apps requieren de una sesión de inicio de sesión y el método no funciona.
Después de inspeccionar GoCD usted puede descargar un archivo zip o un "OS X/macOS app" de la versión del servidor. El servidor se inicia con una secuencia de comandos de shell en ambos casos: sea explícita en la versión zip o implícitamente con "Ir Servidor.app/Contents/MacOS/ir-servidor".
Vaya con el archivo zip, descomprimirlo y mover la carpeta resultante a /usr/local. Link de la carpeta /usr/local/ir-server-16.10.0 a /usr/local/:
ln -s /usr/local/go-server-16.10.0 /usr/local/go-server
Crear un lanzamiento demonio con sudo nano /Library/LaunchDaemon/org.goserver.start.plist
y el contenido
<?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>Label</key>
<string>org.goserver.start</string>
<key>ProgramArguments</key>
<array>
<string>/bin/bash</string>
<string>/usr/local/go-server/server.sh</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>StandardErrorPath</key>
<string>/tmp/org.goserver.start.stderr</string>
<key>StandardOutPath</key>
<string>/tmp/org.goserver.start.stdout</string>
</dict>
</plist>
Cambiar el propietario y los permisos del archivo, si es necesario:
sudo chown root:wheel /Library/LaunchDaemons/org.goserver.start.plist
sudo chmod 644 /Library/LaunchDaemons/org.goserver.start.plist
Modificar /usr/local/go-server-16.10.0/server.sh a sus necesidades. Usted debe establecer un registro diferente de directorio en línea de 85 o un archivo de registro se crea en el directorio root. Compruebe otras variables y las rutas de acceso (como $JAVA_HOME, YOURKIT_PATH, $PID_FILE etc) en la secuencia de comandos de shell y modificarlos de acuerdo a sus necesidades y/o medio ambiente. Aquí funcionó hacia fuera-de-la-caja - pero yo no prueba a fondo.
A continuación, iniciar el lanzamiento demonio con:
sudo launchctl load /Library/LaunchDaemons/org.goserver.start.plist
Verificación /tmp/org.goserver.inicio.stderr para launchd errores. Si el lanzamiento demonio corre bien puede quitar la parte:
<key>StandardErrorPath</key>
<string>/tmp/org.goserver.start.stderr</string>
<key>StandardOutPath</key>
<string>/tmp/org.goserver.start.stdout</string>
desde el plist.
El método de trabajo de acuerdo con la GoAgent. El inicio de la agente de que se hace con agent.sh. El uso de una segunda plist con un diferente plist y etiqueta el nombre del curso: org.goagent.inicio.plist/org.goagent.inicio.
Usted probablemente tendrá que añadir una condición en la que el agente del plist para que el agente se inicia después de que el servidor se está ejecutando.
He intentado lo mismo con el "OS X" de la aplicación, pero no eliminar todos los errores.