theHacker's Blog
– It's just a glitch in the Matrix –

GitLab-Server installieren

GitLab ist eine Komplettlösung für Entwickler mit Git-Versionskontrolle, CI-/CD-System, Bug-Tracker und mehr. Die Software gibt es als open-source GitLab-Community-Edition (GitLab CE) oder kostenpflichtige Enterprise-Edition (GitLab EE) mit zusätzlichen Features.

In diesem Artikel zeige ich euch, wie man sich lokal eine Instanz von GitLab installiert.

Systemanforderungen

Die offiziellen Systemanforderungen empfehlen

  • 2 CPU-Kerne (für bis zu 500 Nutzer),
  • 8 GiB RAM (für bis 100 Nutzer) und
  • 5-10 GiB Festplattenspeicher für die Datenbank.

Ich möchte GitLab nutzen, um

  • alle meine Git-Repositories zentral auf einem Server zu haben und mir damit Backups zu erleichtern,
  • mit dem CI-/CD-System automatisch Tests und Releases durchführen zu können,
  • evtl. den Bug-Tracker oder die Wiki-Funktion von GitLab zu nutzen.
  • Mein GitLab wird nur einen Nutzer haben, nämlich mich.

Zur Installation verwende ich eine virtuelle Maschine mit

  • 2 CPUs (theoretisch leicht eine CPU locker, aber mit 2 CPUs kann später das CI-/CD-System auch parallel mehrere Jobs ausführen)
  • 6 GiB RAM und
  • 50 GiB Festplattenspeicher.

Server einrichten und Package installieren

  • Zu Beginn installieren wir Ubuntu Server 18 LTS.
  • Für meine Zwecke war es notwendig, die Netzwerk-Einstellungen in /etc/netplay/50-cloud-init.yaml anzupassen.
  • Im Weiteren folgen wir nun den Schritten der Omnibus-Installationsanleitung.
  • Zuerst die Paket-Verwaltung auf den aktuellen Stand bringen: apt update && apt upgrade
  • Notwendige Software installieren: apt install -y curl openssh-server ca-certificates
  • Einen Mail-Server installieren, damit GitLab Mails versenden kann:
    • apt install -y postfix
    • Im Auswahldialog „Internet-Site“ wählen.
    • Als Domain den FQDN des Servers eintragen. Er sollte schon vorausgefüllt sein.
  • GitLab-Installationsscript herunterladen und ausführen:
    • curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash
    • Damit werden zusätzliche Paketquellen von GitLab eingerichtet.
    • Anmerkung: Wer sich jetzt fragt, warum im Installationsscript (und später beim Paketnamen) was von „ee“ steht: Ich verwende wie in der Installationsanleitung die Enterprise-Edition. Ohne Lizenzschlüssel verhält sich die Version aber genauso wie eine Community-Edition. Mit der Enterprise-Edition kann man später bei Bedarf ganz einfach einen Lizenzschlüssel nachtragen und die Premium-Features nutzen, ohne ein Upgrade durchführen zu müssen.
  • GitLab-Paket installieren:
    • EXTERNAL_URL="http://gitlab.thehacker.local" apt install gitlab-ee
    • Ich verwende nur „http“, kein „https“, da die Domain nur aus meinem internen Netz zu erreichen ist. Gibt man „https“ an, so wird der Installer versuchen, ein SSL-Zertifikat von Let’s Encrypt zu erhalten. Das klappt aber nicht, wenn der Server nicht im Internet zu erreichen ist.
    • Die Installation des Pakets triggert eine Menge Ruby-Scripts. Es wird einige Minuten dauern, bis alles abgeschlossen ist.

Am Ende sieht es so aus:

GitLab-Installation abgeschlossen: Thank you for installing GitLab! GitLab should be available at http://gitlab.thehacker.local

GitLab ist damit fertig installiert.

Konfiguration über die Web-Oberfläche

Wir öffnen nun die URL im Browser. (Bei mir ist thehacker.local als Suchdomain eingetragen, weswegen bei mir ein http://gitlab/ genügt.)

GitLab verlangt nun, dass man ein Passwort vergibt. Das Passwort muss mindestens 8 Stellen haben. Anschließend kann man sich mit dem Benutzernamen root und dem vergebenen Passwort einloggen.

In meinem Profil unter „Settings / Preferences“ stelle ich ganz unten bei „Localization“ die Sprache auf Deutsch um. Zwar sind die Übersetzungen von GitLab nicht vollständig, aber besser als nix. Im folgenden Text benenne ich die Optionen soweit möglich deshalb in Deutsch.

Zum Schluss stelle ich noch einige Optionen im Adminbereich um:

  • Unter „Einstellungen / Metriken und Profiling“ bei „Nutzungsstatistiken“ die Option „Nutzungsbereich einschalten“ deaktivieren. Damit sendet mein GitLab keine Informationen mehr an die GitLab-Macher.
  • Unter „Einstellungen / Integrationen“ die Angebote von Drittanbietern deaktivieren. GitLab zeigt damit keine Angebote mehr von Drittanbietern, die wir sowieso nicht haben wollen. Ein Beispiel ist unter „Kubernetes“ das Angebot der Google Cloud Platform.
  • Da ich meine GitLab-Instanz alleine verwenden möchte, deaktiviere ich unter „Einstellungen / Allgemein“ bei „Registrierungsbeschränkungen“ die Registrierung für neue Benutzer.
  • Aus Datenschutzgründen deaktiviere ich unter „Einstellungen / Allgemein“ bei „Konto und Limit“ die Gravatar-Funktion.
  • Unter „Übersicht / Benutzer(innen)“ klicke ich auf „Bearbeiten“. Auf der folgenden Seite kann ich nun „Name“ und „Username“ ändern. Damit benenne ich den Standard-Nutzer „Administrator“ (root) um.

Im nächsten Artikel werde ich euch zeigen, wie wir einen GitLab-Runner für das CI-/CD-System installieren, um automatisch Builds und Tests auszuführen.

19. Juni 2019

Schreib einen Kommentar hierzu

Deine eMail-Adresse wird nicht veröffentlicht.