14. Dezember 2019

SystemD – Units für Teamcity

Hallo zusammen,

ich habe meine SystemD-Units für Teamcity nun vollendet und möchte diese gerne teilen, damit andere diese nicht extra vervollständige müssen.

Getestet ist das Ganze unter Ubuntu 18.04 .

Teamcity hat zwei Komponenten: Server und Agent. Ich habe lediglich einen Agenten mit auf dem Server, die SystemD-Unit für den Agenten kann aber auch auf eigenen, separaten Agenten genutzt werden.

Bei  unten stehenden Configs müssen die Werte für „<TEAMCITY_HOME>“ und „<TEAMCITY_AGENT_HOME>“ ersetzt werden mit den Home-Verzeichnissen der jeweiligen Installationen.

Unit für den Server (/etc/systemd/system/teamcity-server.service):

[Unit]
Description=TeamCity Server
After=network.target

[Install]
WantedBy=multi-user.target

[Service]
Type=forking
RemainAfterExit=yes
User=teamcity
Group=users
SyslogIdentifier=teamcity_server
PIDFile=<TEAMCITY_HOME>/logs/teamcity.pid
RestartSec=5
Restart=on-failure

ExecStart=<TEAMCITY_HOME>/bin/teamcity-server.sh start
ExecStop=<TEAMCITY_HOME>/bin/teamcity-server.sh stop

Unit für den Agenten (/etc/systemd/system/teamcity-agent.service):

[Unit]
Description=TeamCity Agent
After=network.target

[Install]
WantedBy=multi-user.target

[Service]
ExecStart=<TEAMCITY_AGENT_HOME>/bin/agent.sh start
Type=forking
RemainAfterExit=yes
User=teamcity
Group=users
SyslogIdentifier=teamcity_agent
PrivateTmp=yes
PIDFile=<TEAMCITY_AGENT_HOME>/logs/buildAgent.pid
ExecStop=<TEAMCITY_AGENT_HOME>/bin/agent.sh stop
RestartSec=5
Restart=on-failure

Nach dem Anlegen der Dateien diese noch mittels:

systemctl enable teamcity-server
systemctl enable teamcity-agent

aktivieren.

Nun kann man über systemctl start teamcity-[server/agent] den jeweiligen Dienst starten und selbige werden beim Bootvorgang automatisch mit hoch gefahren.

 

Bisher musste ich dies manuell machen, basierend auf meinem Monitoring der Java-Prozesse und der UI-Verfügbarkeit. Dieses Monitoring habe ich immer noch (die SystemD – Unit verhindert ja keine sonstigen Fehler 😉 ).

Zum Monitoring des Systems werde ich noch einmal einen Separaten Beitrag machen, jetzt erstmal einen Follow-Up machen, da ähnlich meine Youtrack-Instanz angepasst wurde.

Bis dahin hoffe ich dem Einen oder Anderen mit diesem Beitrag geholfen zu haben.

Schreibe einen Kommentar

Wir benutzen Cookies um die Nutzerfreundlichkeit der Webseite zu verbessen. Durch Deinen Besuch stimmst Du dem zu.