GitLab Server auf das neueste Release-Patch aktualisieren: Eine Schritt-für-Schritt-Anleitung

Melden

Ein GitLab-Server sollte regelmäßig aktualisiert werden, um Sicherheitslücken zu schließen und von Stabilitätsverbesserungen zu profitieren. Ein Patch-Release (z. B. von Version 16.5.1 auf 16.5.2) beinhaltet in der Regel Fehlerbehebungen und Sicherheits-Fixes, verändert aber keine Datenbank-Schemata drastisch, weshalb diese Updates meist schnell und reibungslos durchführbar sind.

Diese Anleitung beschreibt das Vorgehen für eine GitLab Omnibus-Installation (Paketinstallation) unter Linux (Debian/Ubuntu sowie RHEL/CentOS/AlmaLinux).


Wichtiger Hinweis vorab: Der Upgrade-Pfad

Wenn Sie sich innerhalb derselben Minor-Version bewegen (z. B. 16.5.0 auf 16.5.3), können Sie das Update direkt durchführen. Möchten Sie jedoch mehrere Minor- oder gar Major-Versionen überspringen (z. B. von 16.3.x auf 16.5.x), müssen Sie zwingend den offiziellen GitLab Upgrade Path einhalten.


Schritt 1: Aktuelle Version ermitteln

Prüfen Sie zunächst, welche Version aktuell auf Ihrem Server läuft.

sudo gitlab-rake gitlab:env:info

(Alternativ können Sie die Version im Web-Interface unter Admin Area -> Overview einsehen).


Schritt 2: Vollständiges Backup erstellen (Pflicht!)

Führen Sie niemals ein Update ohne aktuelles Backup durch.

  1. Anwendungsdaten sichern:

    sudo gitlab-backup create

    Das Backup wird standardmäßig unter /var/opt/gitlab/backups/ abgelegt.

  2. Konfiguration und Secrets sichern: Die Konfigurationsdateien sind nicht im Standard-Backup enthalten und müssen separat kopiert werden:

    sudo cp /etc/gitlab/gitlab.rb /etc/gitlab/gitlab-secrets.json /pfad/zu/ihrem/sicheren/speicherort/

Schritt 3: Paketlisten aktualisieren

Bringen Sie den Paketmanager Ihres Systems auf den neuesten Stand, um die verfügbaren GitLab-Patches abzurufen.

Für Ubuntu / Debian:

sudo apt update

Für RHEL / CentOS / AlmaLinux:

sudo dnf check-update
# bzw. älter: sudo yum check-update

Schritt 4: Das Update durchführen

Hinweis: Ersetzen Sie in den folgenden Befehlen gitlab-ee durch gitlab-ce, falls Sie die kostenlose Community Edition nutzen.

Option A: Einfach auf das neueste verfügbare Patch aktualisieren

Wenn Ihr System bereits auf der Ziel-Minor-Version läuft (z. B. Version 16.5) und Sie nur den neuesten Patch dieser Version installieren wollen:

Ubuntu / Debian:

sudo apt --only-upgrade install gitlab-ee

RHEL / CentOS:

sudo dnf upgrade gitlab-ee

Option B: Eine ganz bestimmte Patch-Version installieren (Empfohlen)

Um die volle Kontrolle über die Zielversion zu behalten, können Sie das Paket explizit angeben.

Ubuntu / Debian:

# Verfügbare Versionen anzeigen lassen:
apt-cache madison gitlab-ee

# Spezifische Version installieren (Beispiel: 16.5.2):
sudo apt install gitlab-ee=16.5.2-ee.0

RHEL / CentOS:

# Verfügbare Versionen anzeigen lassen:
dnf --showduplicates list gitlab-ee

# Spezifische Version installieren (Beispiel: 16.5.2):
sudo dnf install gitlab-ee-16.5.2-ee.0.el8

Während des Prozesses stoppt GitLab die Dienste, wendet die Updates an, führt nötige Datenbank-Migrationen durch und startet die Dienste automatisch neu.


Schritt 5: Hintergrund-Migrationen prüfen

GitLab führt manche Datenbank-Migrationen im Hintergrund aus. Vor weiteren Aktionen oder Updates muss sichergestellt sein, dass diese abgeschlossen sind.

Führen Sie folgenden Befehl aus:

sudo gitlab-rails runner -e production 'puts Gitlab::BackgroundMigration.remaining'

Gibt der Befehl 0 zurück, sind alle Hintergrundprozesse abgeschlossen.

Alternativ können Sie dies im Web-Browser prüfen:

  • Admin Area -> Monitoring -> Background Migrations (Hier sollten keine Tabs mehr als "Queued" oder "Running" markiert sein).

Schritt 6: Systemstatus und Funktionalität validieren

Führen Sie abschließend den GitLab-Integritätscheck durch:

sudo gitlab-rake gitlab:check SANITIZE=true

Wenn alle Punkte mit grünem yes oder ok markiert sind, loggen Sie sich in die GitLab-Weboberfläche ein und prüfen Sie:

  1. Ob Repositories gepullt/gepusht werden können.
  2. Ob die Benutzeroberfläche unter Admin Area die neue Patch-Version anzeigt.

Das Upgrade ist damit erfolgreich abgeschlossen.

0