OperationsSoftware

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.

Comment here