Ich habe hier auf dem Blog bereits gezeigt, wie man Jenkins auf einem CentOS System installiert. TeamCity ist eine alternative von Jenkins die ich mir etwas genauer anschauen will. Aus diesem Grund zeige ich euch heute, wie man TeamCity unter CentOS installieren kann.
Inhaltsverzeichnis
Für die Installation von TeamCity muss auf dem CentOS Java installiert sein. Dafür können wir den folgenden Befehl verwenden:
1 | yum install java-1.8.0-openjdk.x86_64 |
PostgreSQL installieren
Für TeamCity benötigen wir eine Datenbank auf dem System. Ich habe mich für PostgreSQL entschieden. Für die Installation muss als erstes das Repository hinzugefügt werden.
1 | sudo yum -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm |
Nachdem das Repo nun auf dem System verfügbar ist, kann die Datenbank installiert werden.
1 | yum groupinstall "PostgreSQL Database Server 9.6 PGDG" |
Anschließend muss die Datenbank noch initialisiert werden.
1 | /usr/pgsql-9.6/bin/postgresql96-setup initdb |
Um die Datenbank Installation abzuschließen, starten wir die Datenbank und aktivieren den Autostart.
1 2 | systemctl start postgresql-9.6 systemctl enable postgresql-9.6 |
Download von TeamCity
Als nächstes kann TeamCity von der JetBrains Seite heruntergeladen werden.
1 | wget https://download.jetbrains.com/teamcity/TeamCity-2019.2.3.tar.gz |
Nach dem Download muss das Archiv auf dem System entpackt werden.
1 | tar xvf TeamCity-2019.2.3.tar.gz |
Installation von TeamCity
Den entpackten Ordner verschieben wir nun nach /opt/teamcity.
1 2 | mkdir /opt/teamcity mv TeamCity /opt/teamcity |
Anschließend benötigen wir noch den passenden jdbc Treiber für die Datenbank.
1 2 3 | mkdir -p /opt/teamcity/TeamCity/.BuildServer/lib/jdbc/ wget https://jdbc.postgresql.org/download/postgresql-42.1.4.jar -P /opt/teamcity/TeamCity/.BuildServer/lib/jdbc/ |
Jetzt brauchen wir noch noch ein Start Script.
1 | vim /etc/systemd/system/teamcity.service |
In das Script wird der folgende Inhalt kopiert:
1 2 3 4 5 6 7 8 9 10 11 12 13 | [Unit] Description=TeamCity Server After=network.target [Service] Type=forking PIDFile=/opt/teamcity/TeamCity/logs/teamcity-server.pid ; Make sure the CATALINA_PID env variable is setup in $TEAMCITY_HOME/bin/catalina.sh ExecStart=/opt/teamcity/TeamCity/bin/teamcity-server.sh start ExecStop=/opt/teamcity/TeamCity/bin/teamcity-server.sh stop [Install] WantedBy=multi-user.target |
Nun kann der TeamCity für den Autostart aktiviert werden und anschließend gestartet werden.
1 2 | systemctl enable teamcity systemctl start teamcity |
Datenbankanpassungen
Wir legen nun für den TeamCity noch einen extra User an. Dafür verbinden wir uns wie folgt mit der Datenbank:
1 | psql -U postgres |
Und geben die folgenden Befehle ein:
1 2 | CREATE USER teamcity WITH PASSWORD 'teamcity'; CREATE DATABASE teamcity OWNER teamcity; |
Als nächstes muss man die Datei /var/lib/pgsql/9.6/data/pg_hba.conf mit einem Editor öffnen. Ganz am Ende der Datei wird die Method überall auf MD5 gesetzt. Das ganze sollte dann wie folgt aussehen:
1 2 3 4 5 6 7 8 | # TYPE DATABASE USER ADDRESS METHOD # "local" is for Unix domain socket connections only local all all md5 # IPv4 local connections: host all all 127.0.0.1/32 md5 # IPv6 local connections: host all all ::1/128 md5 |
Die Konfigurationsänderung benötigt einen Neustart der Datenbank.
1 | systemctl restart postgresql-9.6 |
TeamCity Webinterface
Wenn wir bis jetzt alles richtig gemacht haben, können wir unter <ip-adresse-des-servers>:8111 das Webinterface aufrufen.
Hier wird uns als erstes das Data Directory von Teamcity angezeigt. Dies ändert man am Besten auf ein Verzeichnis im TeamCity Ordern wie zum Beispiel /opt/teamcity/TeamCity/.BuildServer.
Im nächsten Schritt muss die Datenbank Connection eingerichtet werden. Die Einstellungen können dem folgenden Screenshot entnommen werden.
Wie bei fast jeder Installation, müssen wir auch hier Lizenzbestimmungen zustimmen.
Im nächsten Schritt muss ein Admin Account angelegt werden.
Damit ist die Installation von TeamCity abgeschlossen.
Schreibe einen Kommentar