Teamcity no se inicia cuando se ejecuta como servicio, pero el comando real funciona bien

Teamcity no se inicia cuando se ejecuta como servicio, pero el comando real funciona bien

Estoy intentando configurar teamcity como servidor doméstico pero parece que no puedo ejecutar el servicio. Esto es en ubuntu 16.04.

seguí las instruccionesaquíhasta elInstalar y configurar base de datosparte. (Excepto que solo estoy usando /opt/Teamcity en lugar de /opt/jetbrains/Teamcity)

Ahora cuando intento ejecutar el servicio me sale esto

sudo service teamcity start 
Job for teamcity.service failed because the control process exited with error code. See "systemctl status teamcity.service" and "journalctl -xe" for details.

Sin embargo, cuando hago el comando real en el script

sudo start-stop-daemon --start -c teamcity  --exec  /opt/TeamCity/bin/runAll.sh start

Funciona bien. ¿Algunas ideas?

EDITAR

Aquí está el resultado dejournalctl -xe

Oct 13 23:15:59 Home-Server sudo[8224]:     ryan : TTY=pts/8 ; PWD=/opt/TeamCity/bin ; USER=root ; COMMAND=/usr/sbin/service teamcity start
Oct 13 23:15:59 Home-Server sudo[8224]: pam_unix(sudo:session): session opened for user root by ryan(uid=0)
Oct 13 23:15:59 Home-Server systemd[1]: Starting teamcity.service...
-- Subject: Unit teamcity.service has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit teamcity.service has begun starting up.
Oct 13 23:15:59 Home-Server systemd[8256]: teamcity.service: Failed at step EXEC spawning /etc/init.d/teamcity: Exec format error
-- Subject: Process /etc/init.d/teamcity could not be executed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- The process /etc/init.d/teamcity could not be executed and failed.
-- 
-- The error number returned by this process is 8.
Oct 13 23:15:59 Home-Server systemd[1]: teamcity.service: Control process exited, code=exited status=203
Oct 13 23:15:59 Home-Server systemd[1]: Failed to start teamcity.service.
-- Subject: Unit teamcity.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit teamcity.service has failed.
-- 
-- The result is failed.
Oct 13 23:15:59 Home-Server systemd[1]: teamcity.service: Unit entered failed state.
Oct 13 23:15:59 Home-Server systemd[1]: teamcity.service: Failed with result 'exit-code'.
Oct 13 23:15:59 Home-Server sudo[8224]: pam_unix(sudo:session): session closed for user root

Respuesta1

13 de octubre 23:15:59 Home-Server systemd[8256]: teamcity.service: error en el paso de generación de EXEC /etc/init.d/teamcity: error de formato de Exec
-- Asunto: El proceso /etc/init.d/teamcity no se pudo ejecutar

… lo que te dice exactamente cuál es el problema. Su archivo no es un script ejecutable. Tampoco está en la forma correcta que rcla política de Debian prescribe para los antiguos scripts de van Smoorenburg, y carece incluso de los antiguos encabezados RedHat/SuSE para rclos scripts de van Smoorenburg, y mucho menos los LSB que se volvieron obligatorios en Debian hace años.

Pero también es una pérdida de tiempo arreglarlo. Tirar a la basura. Utilice una unidad de servicio systemd.

Estás usando un mecanismo que tienedos vecesha sido reemplazado en Ubuntu, una vez por advenedizo y luego nuevamente por systemd.

Ahora estamos en 2016 y se aplica la primera regla para migrar a systemd. Sin embargo, debe ignorar a muchas personas en los últimos años (comoBen Whiteheadyesta persona sin nombre) ¿Quién te pediría que crearas otro candidato para systemd House of Horror? Noenvuelva un Supervisor Dæmon de Poor Man, mal escrito en un script de shell, dentro de una unidad systemd.

[Unidad]
Descripción=Ciudad del equipo
Documentación = https://unix.stackexchange.com/a/316369/5132

[Servicio]
Tipo=sencillo
Usuario = ciudad del equipo
Entorno=TEAMCITY_DATA_PATH=/opt/jetbrains/TeamCity/.BuildServer
Entorno=TEAMCITY_SERVER_OPTS=-Djava.awt.headless=true
ExecStart=/opt/jetbrains/TeamCity/bin/runAll.sh ejecutar

[Instalar]
WantedBy=multiusuario.objetivo

Otras lecturas

información relacionada