So installieren Sie GitLab unter Debian 12 oder 11

GitLab ist eine umfassende DevOps-Plattform, die eine breite Palette an Funktionen für Versionskontrolle, kontinuierliche Integration, Bereitstellung und Projektmanagement bietet. Es integriert verschiedene Phasen des DevOps-Lebenszyklus in eine einzige Anwendung und ermöglicht Teams so eine effiziente Zusammenarbeit. GitLab Community Edition (CE) ist die Open-Source-Version von GitLab und bietet leistungsstarke Tools zum Verwalten von Repositories, Verfolgen von Problemen und Automatisieren von CI/CD-Pipelines.

Um GitLab CE auf Debian 12 oder 11 zu installieren, können Sie das offizielle GitLab Bash-Skript verwenden, um das GitLab CE APT-Repository einzurichten und dann die Software zu installieren und zu konfigurieren. Diese Anleitung führt Sie durch den gesamten Prozess und stellt sicher, dass Sie ein robustes GitLab-Setup auf Ihrem Debian-System haben.

Aktualisieren Sie Debian vor der Gitlab-Installation

Um Stabilität und Sicherheit Ihres Debian-Betriebssystems zu gewährleisten, ist es wichtig, es auf dem neuesten Stand zu halten. Um sicherzustellen, dass alle vorhandenen Pakete auf Ihrem Debian-System auf dem neuesten Stand sind, wird empfohlen, ein Update durchzuführen, um die neuesten Sicherheitsupdates und Fehlerbehebungen bereitzustellen und so die Stabilität und Zuverlässigkeit Ihres Systems sicherzustellen.

Sie können Ihr Debian-Betriebssystem ganz einfach aktualisieren, indem Sie den folgenden Befehl ausführen:

sudo apt update && sudo apt upgrade 

Installieren Sie die erforderlichen Pakete für GitLab

Ein wichtiger Schritt im Installationsprozess besteht darin, sicherzustellen, dass alle Abhängigkeiten für GitLab installiert sind. Diese Abhängigkeiten sind notwendige Komponenten, auf die GitLab angewiesen ist, um ordnungsgemäß zu funktionieren. Glücklicherweise ist die Installation dieser Abhängigkeiten ein einfacher Vorgang.

Sie können sie einfach installieren, indem Sie das Terminal öffnen und den folgenden Befehl ausführen:

sudo apt install curl ca-certificates apt-transport-https tzdata perl

GitLab CE APT-Repository importieren

Standardmäßig ist GitLab nicht in den Standard-Repositorys von Debian verfügbar. Das bedeutet, dass Sie zur Installation von GitLab manuell ein Repository erstellen müssen. GitLab bietet jedoch ein APT-Skript, das diesen Vorgang unterstützt und Benutzern die Installation der Plattform erleichtert. Mit diesem Skript können Sie ein GitLab-Repository erstellen, mit dem Sie GitLab mit dem Standard-APT-Paketmanager installieren können.

Um das Skript herunterzuladen, geben Sie den folgenden Befehl in Ihr Terminal ein:

curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash

Sobald Sie diesen Befehl ausführen, lädt das Skript das GitLab-Repository herunter und fügt es Ihrem Debian-System hinzu. Außerdem wird die Paketliste aktualisiert, sodass Sie GitLab mit dem Standard-APT-Paketmanager installieren können.

GitLab-Installation per APT-Befehl abschließen

Der nächste Schritt ist die Installation von GitLab. Denken Sie daran, dass das Skript bereits den Befehl „apt update“ verwendet hat, um das neu erstellte und geänderte Repository zu synchronisieren. Wenn dies erledigt ist, können Sie nun mit der Ausführung des Installationsbefehls fortfahren, indem Sie Folgendes ausführen:

sudo apt install gitlab-ce

Dieser Befehl installiert die GitLab Community Edition (CE), die kostenlose Open-Source-Version von GitLab. Der Installationsvorgang kann je nach Internetgeschwindigkeit und Systemanforderungen einige Zeit dauern.

Beispielausgabe bei erfolgreicher GitLab-Installation unter Debian:

GitLab konfigurieren

Um GitLab unter Debian zu konfigurieren, müssen mehrere Schritte sorgfältig befolgt werden. In diesem Abschnitt wird der Vorgang Schritt für Schritt beschrieben, einschließlich der Konfiguration des Hostnamens, der Einrichtung der Firewall und der Konfiguration der E-Mail-Einstellungen.

Konfigurieren des Hostnamens

Um auf Ihre GitLab-Instanz zugreifen zu können, müssen Sie unbedingt den Hostnamen für Ihren GitLab-Server konfigurieren. Wählen Sie daher einen Namen, der leicht zu merken und zugänglich ist. Befolgen Sie diese Schritte, um den Hostnamen zu konfigurieren:

Öffnen Sie die GitLab-Konfigurationsdatei mit einem Texteditor:

sudo nano /etc/gitlab/gitlab.rb

Suchen Sie die Einstellung external_url und ersetzen Sie die Beispiel-URL durch den gewünschten Hostnamen:

external_url 'https://gitlab.example.com'

Speichern Sie die Datei und beenden Sie den Texteditor.

Konfigurieren Sie GitLab nun neu, um die Änderungen anzuwenden:

sudo gitlab-ctl reconfigure

Richten Sie die UFW-Firewall für Gitlab ein

GitLab verwendet standardmäßig Port 80 für HTTP und Port 443 für HTTPS. Es ist wichtig, dass Sie Ihre Firewall so konfigurieren, dass sie Datenverkehr auf diesen Ports zulässt und sicherstellt, dass Ihre GitLab-Instanz zugänglich ist.

Befolgen Sie diese Schritte, um die Firewall einzurichten:

Installieren Sie zunächst die UFW-Firewall mit dem folgenden Befehl, da diese unter Debian nicht standardmäßig installiert ist:

sudo apt install ufw

Aktivieren Sie als Nächstes nach Abschluss der Installation die UFW-Firewall mit dem folgenden Befehl:

sudo ufw enable

Öffnen Sie die Firewall-Konfigurationsdatei mit einem Texteditor:

sudo nano /etc/ufw/applications.d/gitlab

Kopieren Sie die folgenden Zeilen und fügen Sie sie in die Datei ein:

[GitLab]
title=GitLab
description=GitLab application
ports=80,443/tcp

Speichern Sie die Datei und beenden Sie den Texteditor.

Aktivieren Sie die GitLab-Anwendung in der Firewall:

sudo ufw app update GitLab
sudo ufw allow GitLab

E-Mail-Einstellungen konfigurieren

GitLab verwendet E-Mail-Benachrichtigungen, um Benutzer über Projektaktivitäten wie neue Probleme, Zusammenführungsanforderungen und Kommentare zu informieren.

Befolgen Sie diese Schritte, um die E-Mail-Einstellungen zu konfigurieren:

Öffnen Sie die GitLab-Konfigurationsdatei mit einem Texteditor:

sudo nano /etc/gitlab/gitlab.rb

Suchen Sie die Einstellung gitlab_rails['smtp_enable'] und setzen Sie sie auf „true“:

gitlab_rails['smtp_enable'] = true

Fügen Sie der Datei die folgenden Zeilen hinzu, um die SMTP-Servereinstellungen für Ihren E-Mail-Anbieter (z. B. Gmail) zu konfigurieren:

gitlab_rails['smtp_address'] = "smtp.gmail.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "example@gmail.com"
gitlab_rails['smtp_password'] = "your_password"
gitlab_rails['smtp_domain'] = "smtp.gmail.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true

Speichern Sie die Datei und beenden Sie den Texteditor.

Konfigurieren Sie GitLab neu, um die Änderungen anzuwenden:

sudo gitlab-ctl reconfigure

Es ist wichtig zu beachten, dass Sie nach der Ausführung des Befehls „gitlab-ctl reconfigure“ möglicherweise beobachten, dass die Terminalausgabe mit der folgenden Meldung endet:

Notes:
Default admin account has been configured with following details:
Username: root
Password: You didn't opt-in to print initial root password to STDOUT.
Password stored to /etc/gitlab/initial_root_password. This file will be cleaned up in first reconfigure run after 24 hours.

Um das Root-Passwort (GitLab) anzuzeigen, führen Sie den folgenden Befehl in Ihrem Terminal aus:

sudo cat /etc/gitlab/initial_root_password

Wenn Sie diesen Befehl ausführen, wird das Root-Passwort im Terminal angezeigt. Es ist wichtig, dieses Passwort sicher aufzubewahren und es nicht an unbefugte Benutzer weiterzugeben.

Wenn Sie das Root-Passwort zurücksetzen müssen, können Sie den folgenden Befehl verwenden:

sudo gitlab-rake "gitlab:password:reset[root]"

Nach der Ausführung dieses Befehls wird das Root-Passwort auf eine zufällige Zeichenfolge zurückgesetzt, die in der Terminalausgabe angezeigt wird. Denken Sie unbedingt daran, dass durch das Zurücksetzen des Root-Passworts alle vorhandenen und persönlichen Zugriffstoken ungültig werden. Daher müssen Benutzer nach dem Zurücksetzen des Passworts neue erstellen.

Aus Sicherheitsgründen wird empfohlen, das Root-Passwort so bald wie möglich nach der Ersteinrichtung in ein starkes und eindeutiges Passwort zu ändern und die Verwendung des Standardpassworts zu vermeiden. Sie können das Root-Passwort ändern, indem Sie sich bei der GitLab-Weboberfläche anmelden, zu „Benutzereinstellungen“ > „Konto“ gehen und die Option „Passwort ändern“ auswählen.

Zugriff auf die GitLab-Benutzeroberfläche

Sobald die Backend-Konfiguration abgeschlossen ist, können Sie sich bei GitLab anmelden und darauf zugreifen. Öffnen Sie dazu den Domänenpfad, der GitLab in der Konfigurationsdatei zugewiesen ist.

https://gitlab.example.com

Melden Sie sich anschließend mit dem Benutzernamen „root“ und dem Passwort, das Sie bei der Installation erhalten haben, bei GitLab an. Wie im Passwortausdruck des vorherigen Abschnitts erwähnt, lautete das Passwort der Anleitung im Bild „4zB2mbBLCcRLRAkv3qHfmSZULJ/6ocJNe2XK8zNx9nU=“.

Sie haben sich erfolgreich mit dem Root-Konto angemeldet und gelangen zur Standard-Zielseite.

Zusätzliche Tipps

Nachfolgend finden Sie einige Empfehlungen zur Sicherung, Anpassung oder andere allgemeine Tipps für die erste Anmeldung bei der GitLab-Benutzeroberfläche:

  • Ändern Sie das Standardkennwort: Um die Sicherheit Ihrer GitLab-Instanz zu erhöhen, ist es wichtig, das Standardkennwort des Root-Benutzers zu ändern. Melden Sie sich mit dem Standardbenutzernamen und -kennwort bei GitLab an, navigieren Sie zu „Benutzereinstellungen“ > „Kennwort“ und geben Sie Ihr neues Kennwort ein.
  • Zwei-Faktor-Authentifizierung (2FA) einrichten: Das Hinzufügen eines Authentifizierungsfaktors zum Anmeldevorgang, beispielsweise eines an Ihr Telefon gesendeten oder von einer App generierten Codes, ist eine zusätzliche Sicherheitsebene, die durch 2FA bereitgestellt wird. Um 2FA in GitLab zu aktivieren, navigieren Sie zu „Benutzereinstellungen“ > „Konto“ > „Zwei-Faktor-Authentifizierung“ und folgen Sie den Anweisungen.
  • Erstellen Sie ein Projekt: Um ein neues Projekt in GitLab zu erstellen, gehen Sie auf die Seite „Projekte“ und klicken Sie auf die Schaltfläche „Neues Projekt“. Sie können ein leeres Projekt erstellen oder ein vorhandenes Projekt aus einem Git-Repository importieren.
  • Passen Sie die Benutzeroberfläche an: GitLab bietet verschiedene Anpassungsmöglichkeiten, wie z. B. das Ändern des Designs, das Hinzufügen eines benutzerdefinierten Logos und das Konfigurieren der Navigationsleiste. Navigieren Sie zu „Admin-Bereich“ > „Einstellungen“ und wählen Sie die entsprechenden Optionen aus, um die Benutzeroberfläche anzupassen.
  • Zugriffskontrolle konfigurieren: Mit den leistungsstarken Zugriffskontrollfunktionen von GitLab können Sie steuern, wer auf Ihre Projekte zugreifen kann und was diese Personen tun dürfen. Navigieren Sie zu „Projekteinstellungen“ > „Mitglieder“ und fügen Sie Mitglieder mit unterschiedlichen Zugriffsebenen hinzu oder entfernen Sie sie, um die Zugriffskontrolle zu konfigurieren.
  • Verwenden Sie GitLab CI/CD: Die leistungsstarken CI/CD-Funktionen von GitLab automatisieren das Testen und Bereitstellen Ihres Codes. Konfigurieren Sie CI/CD-Pipelines, indem Sie eine „.gitlab-ci.yml“-Datei im Stammverzeichnis Ihres Projekts erstellen und die Phasen und Jobs für Ihre Pipeline definieren.
  • Richten Sie GitLab Runner ein: GitLab Runner ist ein leichtgewichtiger Agent, der CI/CD-Jobs ausführt und die Ergebnisse an GitLab zurücksendet. Befolgen Sie die Anweisungen in der GitLab-Dokumentation, um GitLab Runner auf Ihrem Debian-System zu installieren und zu konfigurieren.
  • Sichern Sie Ihre GitLab-Instanz: Sichern Sie Ihre GitLab-Instanz regelmäßig, um Datenverlust bei Hardwarefehlern oder anderen Katastrophen zu vermeiden. Führen Sie den Befehl „gitlab-rake gitlab:backup:create“ in Ihrem Terminal aus, um Ihre GitLab-Instanz zu sichern.

Cronjob für GitLab Auto Backup erstellen

Das Einrichten eines Cronjobs für die automatische GitLab-Sicherung unter Debian ist unerlässlich, um die Sicherheit Ihrer Daten zu gewährleisten. Ein Cronjob ist eine geplante Aufgabe, die automatisch in bestimmten Abständen ausgeführt wird, um eine Sicherung Ihrer GitLab-Instanz durchzuführen. Befolgen Sie diese Schritte, um einen Cronjob für die automatische GitLab-Sicherung unter Debian zu erstellen.

Erstellen Sie ein Gitlab-Backup-Skript

Der erste Schritt besteht darin, ein Backup-Skript zu erstellen, um das Backup Ihrer GitLab-Instanz durchzuführen. Folgen Sie diesen Schritten:

Erstellen Sie mit einem Texteditor eine neue Datei für Ihr Backup-Skript. Hier ist ein Beispiel:

sudo nano /usr/local/bin/gitlab-backup.sh

Fügen Sie den folgenden Code in die Datei ein:

#!/bin/bash

BACKUP_DIR=/var/opt/gitlab/backups
TIMESTAMP=$(date +%s)

sudo gitlab-rake gitlab:backup:create

sudo cp ${BACKUP_DIR}/$(ls -t ${BACKUP_DIR} | head -1) ${BACKUP_DIR}/gitlab_backup_${TIMESTAMP}.tar
  • Speichern Sie die Datei und beenden Sie den Texteditor.

Dieses Skript generiert ein Backup Ihrer GitLab-Instanz, indem es den Befehl gitlab-rake gitlab:backup:create ausführt. Nach dem Erstellen des Backups wird das neueste Backup in eine neue Datei mit einem Zeitstempel im Dateinamen dupliziert.

Festlegen von Berechtigungen und Eigentümerschaft

Der nächste Schritt besteht darin, die entsprechenden Berechtigungen und Eigentümer für das Backup-Skript festzulegen, um sicherzustellen, dass der Cronjob es ausführen kann. Gehen Sie folgendermaßen vor:

Legen Sie den Besitzer des Sicherungsskripts auf den mit GitLab verknüpften Benutzer fest:

sudo chown git:git /usr/local/bin/gitlab-backup.sh

Legen Sie die Berechtigungen des Sicherungsskripts fest, um die Ausführung zu ermöglichen:

sudo chmod +x /usr/local/bin/gitlab-backup.sh

Erstellen eines Cronjobs

Der nächste Schritt besteht darin, einen Cronjob zu erstellen, um die regelmäßige Ausführung des Backup-Skripts zu planen. Führen Sie dazu die folgenden Schritte aus:

Um die Crontab-Konfigurationsdatei für den GitLab-Benutzer zu öffnen, folgen Sie diesen Schritten:

sudo crontab -u git -e

Um die Ausführung des Sicherungsskripts jeden Tag um 1:00 Uhr zu planen, fügen Sie der Crontab-Konfigurationsdatei für den GitLab-Benutzer die folgende Zeile hinzu:

0 1 * * * /path/to/backup/script.sh

Speichern Sie die Datei und beenden Sie den Texteditor.

Dieser Cronjob führt das Sicherungsskript jeden Tag automatisch um 1:00 Uhr aus, wodurch eine neue Sicherungsdatei mit einem Zeitstempel im Dateinamen entsteht.

Testen des Cronjobs

Sie können überprüfen, ob der Cronjob korrekt funktioniert, indem Sie das Backup-Skript manuell ausführen und sicherstellen, dass die Backup-Datei fehlerfrei erstellt wird. Um diesen Test durchzuführen, geben Sie den folgenden Befehl in Ihr Terminal ein:

sudo /usr/local/bin/gitlab-backup.sh

Dieser Befehl generiert eine neue Sicherungsdatei im Verzeichnis „/var/opt/gitlab/backups“. Der Dateiname enthält einen Zeitstempel, der angibt, wann die Sicherung erstellt wurde.

GitLab-Terminalbefehle

GitLab-ctl ist ein Befehlszeilentool zur Verwaltung von GitLab unter Debian. Es bietet eine Reihe von Terminalbefehlen zum Starten, Stoppen, Neustarten und Verwalten von GitLab-Diensten, unter anderem. Hier finden Sie einen ausführlichen Abschnitt zu GitLab-ctl-Terminalbefehlen sowie Beispielbefehle und -ausgaben mit Erklärungen.

Starten und Stoppen von GitLab-Diensten

Um GitLab-Dienste zu starten und zu stoppen, verwenden Sie die folgenden Befehle:

Starten Sie alle GitLab-Dienste:

sudo gitlab-ctl start

Stoppen Sie alle GitLab-Dienste:

sudo gitlab-ctl stop

Starten Sie alle GitLab-Dienste neu:

sudo gitlab-ctl restart

GitLab-Dienste neu laden:

sudo gitlab-ctl reload

Diese Befehle starten, stoppen, starten neu oder laden alle GitLab-Dienste neu. Die Ausgabe zeigt an, welche Dienste gestartet oder gestoppt werden und ob der Vorgang erfolgreich war.

Überprüfen des Status der GitLab-Dienste

Um den Status der GitLab-Dienste zu überprüfen, verwenden Sie den folgenden Befehl:

sudo gitlab-ctl status

Diese Befehle starten, stoppen, starten oder laden alle GitLab-Dienste neu. Nach der Ausführung des Befehls zeigt die Ausgabe an, welche Dienste betroffen sind und ob der Vorgang erfolgreich war.

Sichern und Wiederherstellen von GitLab-Daten

Sie können mit dem folgenden Befehl eine Sicherungskopie der GitLab-Daten erstellen:

Erstellen Sie ein Backup der GitLab-Daten:

sudo gitlab-rake gitlab:backup:create

Der angegebene Befehl erstellt eine Sicherungsdatei, die alle GitLab-Daten enthält, z. B. Repositories, Benutzerdaten und Konfigurationsdateien. Die Sicherungsdatei wird im Verzeichnis „/var/opt/gitlab/backups“ gespeichert.

Stellen Sie ein Backup der GitLab-Daten wieder her:

sudo gitlab-rake gitlab:backup:restore BACKUP=<backup_file>

Mit diesem Befehl können Sie ein Backup von GitLab-Daten aus einer bestimmten Backup-Datei wiederherstellen. Die Backup-Datei muss sich im Verzeichnis „var/opt/gitlab/backups“ befinden, oder Sie können den vollständigen Pfad zur Backup-Datei angeben.

Überprüfen der GitLab-Konfiguration

Mit dem folgenden Befehl können Sie die Konfiguration von GitLab überprüfen:

sudo gitlab-rake gitlab:check

Mit diesem Befehl können Sie die GitLab-Konfiguration nach Fehlern oder Warnungen durchsuchen, darunter veraltete Versionen, fehlende Abhängigkeiten und falsch konfigurierte Einstellungen. Die Ausgabe fasst die Scanergebnisse zusammen und enthält detaillierte Informationen zu allen erkannten Problemen.

Überprüfen der GitLab-Protokolle

So überprüfen Sie GitLab-Protokolle mit den folgenden Befehlen:

Sehen Sie sich die GitLab-Protokolle an:

sudo gitlab-ctl tail gitlab-rails/production.log

Mit dem folgenden Befehl können Sie die letzten zehn Zeilen des GitLab-Produktionsprotokolls anzeigen, in dem Benutzeraktionen, Warnungen und Fehler aufgeführt sind.

Sehen Sie sich die GitLab NGINX-Protokolle an:

sudo gitlab-ctl tail nginx/gitlab_access.log

Dieser Befehl zeigt die letzten zehn Zeilen des GitLab NGINX-Zugriffsprotokolls an, das Details zu HTTP-Anfragen und -Antworten enthält.

Sehen Sie sich die GitLab PostgreSQL-Protokolle an:

sudo gitlab-ctl tail postgresql/current

Dieser Befehl zeigt die letzten zehn Zeilen des GitLab PostgreSQL-Protokolls an, das Informationen zu Datenbankabfragen und Transaktionen enthält.

Abschluss

Wenn GitLab CE mithilfe des offiziellen Setup-Skripts erfolgreich auf Ihrem Debian-System installiert wurde, können Sie die leistungsstarken DevOps-Funktionen voll ausnutzen. Diese Methode stellt sicher, dass Sie über die neueste Version verfügen und problemlos auf Updates zugreifen können. Warten und aktualisieren Sie Ihre GitLab-Instanz regelmäßig, um von den neuesten Funktionen und Sicherheitsverbesserungen zu profitieren. Genießen Sie die nahtlose Integration und die kollaborativen Tools, die GitLab CE für Ihre Entwicklungsprojekte bietet.

Joshua James
Folgen Sie mir
Letzte Artikel von Joshua James (Alle anzeigen)

Hinterlasse einen Kommentar