GitLab ist ein Open-Source-Repository-Manager, der auf Rails basiert und von GitLab Inc. entwickelt wurde. Es ist ein webbasierter Git-Repository-Manager, mit dem Ihr Team beim Codieren, Testen und Bereitstellen von Anwendungen zusammenarbeiten kann. GitLab bietet mehrere Funktionen, darunter Wikis, Problemverfolgung, Codeüberprüfungen und Aktivitätsfeeds.
GitLab Inc bietet 4 Produkte an:
- Gitlab CE (Community Edition) – selbst gehostet und kostenlos; Unterstützung aus dem Community-Forum.
- Gitlab EE (Enterprise Edition) – selbst gehostet und kostenpflichtig; kommt mit zusätzlichen Features.
- GitLab.com - SaaS und kostenlos.
- GitLab.io - Private GitLab-Instanz, verwaltet von GitLab Inc.
In diesem Tutorial zeigen wir Ihnen, wie Sie GitLab CE auf dem CentOS 8-Server installieren. Wir werden GitLab CE mit dem von GitLab bereitgestellten „Omnibus“-Paket installieren, eine grundlegende Konfiguration von GitLab vornehmen und testen, um ein neues GitLab-Projekt zu erstellen.
Voraussetzung
Für diese Anleitung installieren wir GitLab CE auf der neuesten Version von CentOS 8 Server mit 4 GB RAM, 30 GB freiem Festplattenspeicher und 2 CPUs.
Was werden wir tun?
- Paketabhängigkeiten installieren
- Repository hinzufügen und GitLab CE (Community Edition) installieren
- SSL Letsencrypt und DHPARAM-Zertifikat generieren
- Nginx-HTTPS für GitLab aktivieren
- Firewalld konfigurieren
- GitLab-Postinstallation
- Testen
Schritt 1 – Paketabhängigkeiten installieren
Zuerst werden wir einige Paketabhängigkeiten installieren, die von GitLab benötigt werden, einschließlich der OpenSSH-Pakete und Postfix.
Installieren Sie Paketabhängigkeiten für GitLab CE mit dem folgenden dnf-Befehl.
sudo dnf -y install curl policycoreutils openssh-server openssh-clients postfix
Sobald die gesamte Installation abgeschlossen ist, starten Sie die SSH- und Postfix-Dienste.
systemctl start sshd
systemctl start postfix
Fügen Sie als Nächstes beide Dienste zum Systemstart hinzu.
systemctl enable sshd
systemctl enable postfix
Als Ergebnis wurde die Installation der Paketabhängigkeiten abgeschlossen.
Schritt 2 – Repository hinzufügen und GitLab installieren
In diesem Schritt fügen wir das offizielle GitLab-Repository zu unserem CentOS 8-System hinzu und installieren die GitLab CE-Pakete.
Fügen Sie das GitLab-Repository mit dem Installationsskript unten hinzu.
curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
Sobald alles abgeschlossen ist, sehen Sie unten das Ergebnis, das Sie erhalten werden.
Generating yum cache for gitlab_gitlab-ce...
Importing GPG key 0x51312F3F:
Userid : "GitLab B.V. (package repository signing key) <[email protected]>"
Fingerprint: F640 3F65 44A3 8863 DAA0 B6E0 3F01 618A 5131 2F3F
From : https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey
Importing GPG key 0xF27EAB47:
Userid : "GitLab, Inc. <[email protected]>"
Fingerprint: DBEF 8977 4DDB 9EB3 7D9F C3A0 3CFC F9BA F27E AB47
From : https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey/gitlab-gitlab-ce-3D645A26AB9FBD22.pub.gpg
Generating yum cache for gitlab_gitlab-ce-source...
The repository is setup! You can now install packages.
Um das GitLab-Repository zu überprüfen, führen Sie den folgenden dnf-Befehl aus.
sudo dnf repolist
Und Sie erhalten das GitLab-Repository auf der Liste.
Als nächstes installieren Sie die GitLab CE-Pakete mit dem Befehl
sudo dnf install gitlab-ce -y
Sobald die gesamte Installation abgeschlossen ist, erhalten Sie das Ergebnis wie unten.
Als Ergebnis ist die GitLab CE Community Edition jetzt auf dem CentOS 8 System installiert.
Schritt 3 – SSL Letsencrypt und DHPARAM generieren
Für dieses Tutorial führen wir GitLab auf der sicheren HTTPS-Verbindung aus und verwenden SSL Letsencrypt von Letsencrypt und DHAPRAM, das mit dem openssl-Befehl generiert werden kann.
In diesem Schritt generieren wir SSL Letsencrypt mit dem certbot-Befehlszeilentool, das aus dem EPEL-Repository installiert werden kann, und generieren dann das DHPARAM-Zertifikat mit openssl.
Fügen Sie das EPEL-Repository mit dem folgenden Befehl zum CentOS 8-System hinzu.
sudo dnf install epel-release
Installieren Sie als Nächstes die certbot-Pakete mit dem folgenden dnf-Befehl.
sudo dnf install certbot
Sobald die gesamte Installation abgeschlossen ist, generieren Sie den SSL Letsencryp für GitLab mit dem Befehl certbot unten.
certbot certonly --rsa-key-size 2048 --standalone --agree-tos --no-eff-email --email [email protected] -d gitlab.hakase-labs.io
Jetzt sind Ihre SSL-Zertifikate im Verzeichnis ‚/etc/letsencrypt/live/gitlab.hakase-labs.io‘ verfügbar, überprüfen Sie dies mit dem folgenden Befehl.
ls -lah /etc/letsencrypt/live/gitlab.hakase-labs.io/
Sie erhalten die Zertifikate „fullchain.pem“ und „privkey.pem“.
Generieren Sie als Nächstes das DHPARAM-Zertifikat im Verzeichnis „/etc/gitlab“ mit dem Befehl openssl unten.
sudo openssl dhparam -out /etc/gitlab/dhparams.pem 2048
Wenn alles fertig ist, ändern Sie die Berechtigung des 'dhparam.pem'-Zertifikats auf '0600'.
sudo chmod 600 /etc/gitlab/dhparams.pem
Als Ergebnis wurden die SSL Letsencrypt- und DHPARAM-Zertifikate für GitLab generiert.
Schritt 4 – Richten Sie den Domänennamen ein, aktivieren Sie Nginx HTTPS für GitLab
In diesem Schritt richten wir den Domänennamen ein und aktivieren die sichere HTTPS-Verbindung von Nginx für GitLab.
Gehen Sie in das Verzeichnis ‚/etc/gitlab‘ und bearbeiten Sie die Konfiguration ‚gitlab.rb‘.
cd /etc/gitlab/
vim gitlab.rb
Ändern Sie in der Zeile „external_url“ den Standarddomänennamen durch Ihren eigenen und ändern Sie das http- in das https-Protokoll wie unten beschrieben.
external_url 'https://gitlab.hakase-labs.io'
Fügen Sie als Nächstes die folgende Konfiguration nach der Zeile „external_url“ hinzu und stellen Sie sicher, dass Sie das SSL- und DHPARAM-Zertifikat durch Ihr eigenes ersetzen.
nginx['redirect_http_to_https'] = true
nginx['ssl_certificate'] = "/etc/letsencrypt/live/gitlab.hakase-labs.io/fullchain.pem"
nginx['ssl_certificate_key'] = "/etc/letsencrypt/live/gitlab.hakase-labs.io/privkey.pem"
nginx['ssl_dhparam'] = "/etc/gitlab/dhparams.pem"
Speichern und schließen.
Führen Sie als Nächstes den folgenden Befehl aus, um GitLab neu zu konfigurieren und die neue Konfiguration anzuwenden.
sudo gitlab-ctl reconfigure
Der Befehl ruft das Chef-Skript auf, das Omnibus GitLab unterstützt, um Ihre GitLab-Installation neu zu konfigurieren.
Sobald alles abgeschlossen ist, fahren Sie mit dem nächsten Schritt fort.
Schritt 5 - Konfigurieren Sie Firewalld
Nachdem Sie HTTPS auf GitLab aktiviert haben, werden wir die HTTP- und HTTPS-Dienste zur Firewall hinzufügen.
Führen Sie den folgenden Befehl firewall-cmd aus.
firewall-cmd --add-service=ssh --permanent
firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
Laden Sie danach den Firewalld-Dienst neu, um eine neue Konfiguration anzuwenden.
firewall-cmd --reload
Überprüfen Sie nun alle Dienste auf Firewalld mit dem folgenden Befehl.
firewall-cmd --list-services
Jetzt erhalten Sie die SSH-, HTTP- und HTTPS-Dienste auf der Liste.
Als Ergebnis haben Sie die HTTP- und HTTPS-Dienste zur Firewall hinzugefügt, und das GitLab ist jetzt bereit und zugänglich.
Schritt 6 – GitLab-Nachinstallation
Öffnen Sie Ihren Webbrowser und geben Sie Ihre GitLab-Domainnameninstallation in die Adressleiste ein. Meine ist: https://gitlab.hakase-labs.io/, verwenden Sie Ihre Adresse.
Und Sie werden auf die Seite zum Zurücksetzen des Passworts weitergeleitet.
- GitLab-Standardpasswort zurücksetzen
Geben Sie das neue Passwort für den standardmäßigen GitLab-Benutzer „root“ ein '.
Klicken Sie nun auf 'Passwort ändern ' und Sie werden zur Anmeldeseite von GitLab weitergeleitet.
Geben Sie den Standardbenutzer „root“ ein ' und Ihr Passwort, und klicken Sie dann auf 'Anmelden ', und Sie erhalten das GitLab-Dashboard wie folgt.
Profil und Benutzernamen ändern
Nachdem Sie sich beim GitLab-Dashboard angemeldet haben, ändern Sie die Standardeinstellung „root“. ' Benutzer mit Ihrem eigenen.
Um Ihre Profileinstellungen zu ändern, klicken Sie oben rechts in Ihrem Symbolprofil auf und dann auf "Einstellungen". '-Symbol, um Ihr Profil einzurichten.
Geben Sie nun Ihren neuen Benutzernamen und Ihre neue E-Mail-Adresse ein, scrollen Sie dann zur unteren Seite und klicken Sie auf „Profileinstellungen aktualisieren“. ' Schaltfläche.
Klicken Sie anschließend auf das 'Konto ' Tab, ändern Sie den Standardbenutzernamen 'root ' mit Ihrem eigenen und klicken Sie dann auf 'Nutzernamen aktualisieren ' Schaltfläche.
Aus diesem Grund wurden der Standard-Benutzername und die E-Mail-Adresse für den Root-Benutzer geändert.
SSH-Schlüssel hinzufügen
Jetzt werden wir den SSH-Schlüssel zu GitLab hinzufügen. Stellen Sie sicher, dass Sie den SSH-Schlüssel haben, und wenn Sie ihn nicht haben, können Sie den SSH-Schlüssel mit dem folgenden Befehl generieren.
ssh-keygen
Jetzt erhalten Sie Ihren SSH-Schlüssel, der unter '~/.ssh generiert wird ' Verzeichnis innerhalb des Home-Verzeichnisses des Benutzers.
Kehren Sie als Nächstes zum GitLab-Dashboard zurück und klicken Sie auf das Registerkartenmenü „SSH-Schlüssel“.
Kopieren Sie den Inhalt Ihres öffentlichen SSH-Schlüssels '~/.ssh/id_rsa.pub ' und fügen Sie ihn auf der GitLab-Seite ein. Klicken Sie dann auf 'Schlüssel hinzufügen ' Schaltfläche.
Als Ergebnis wurde der SSH-Schlüssel zu GitLab hinzugefügt.
Projektlimit pro Account einrichten
Klicken Sie im oberen mittleren Menü auf "Einstellungen". ' Schaltfläche.
Klicken Sie nun auf „Einstellungen“> „Allgemein“ ', klicken Sie im Abschnitt 'Konto und Limit' auf 'Erweitern '.
Ändern Sie das "Standardlimit für Projekte " nach Bedarf und klicken Sie auf 'Speichern ' Schaltfläche.
Aus diesem Grund wurde das standardmäßige Projektlimit für jedes Konto geändert.
Schritt 7 – Neues Projekt erstellen und übergeben
In diesem Schritt testen wir unsere GitLab-Installation, indem wir ein neues GitLab-Projekt erstellen.
Neues GitLab-Projekt erstellen
Um ein neues Projekt auf GitLab zu erstellen, klicken Sie auf das '+ ' Plug-Schaltfläche im oberen rechten Menü.
Geben Sie nun Ihren Projektnamen, den Projekt-Slug und die Beschreibung ein und klicken Sie dann auf „Projekt erstellen ' Schaltfläche.
Und das neue GitLab-Projekt wurde erstellt.
Richten Sie GitLab auf Ihrem Laptop ein
Nachdem wir ein neues Projekt auf GitLab erstellt haben, richten wir das GitLab-Konto auf dem lokalen Computer ein.
Öffnen Sie Ihr Terminal und führen Sie den folgenden Git-Befehl aus, um den Standardbenutzer und die E-Mail-Adresse für Git einzurichten.
git config --global user.name "hakase"
git config --global user.email "[email protected]"
Als nächstes klonen Sie Ihr GitLab-Projekt in Ihr lokales Computerverzeichnis und gehen Sie hinein.
git clone https://gitlab.hakase-labs.io/hakase/test-project.git
cd test-project/
Als Ergebnis wurden der Standardbenutzer und die E-Mail-Adresse für Git konfiguriert und das GitLab-Projekt wurde auf den lokalen Computer geklont.
Änderung vornehmen und übernehmen
Jetzt haben wir das GitLab-Projekt auf unserem lokalen Computer, und wir werden testen, ob wir die Datei „README.md“ ändern und das erste Commit für unser GitLab-Projekt durchführen.
Bearbeiten Sie die Datei „README.md“ mit Ihrem Editor.
vim README.md
Nehmen Sie nun eine Änderung an der Datei vor, speichern und schließen Sie sie.
Fügen Sie danach die neue Version der Datei „README.md“ hinzu und bestätigen Sie sie mit dem folgenden Befehl.
git add .
git commit -m "Change README.md"
Pushen Sie nun die neuen Änderungen mit dem unten stehenden Befehl git push in das GitLab-Repository.
git push origin master
Die neuen Änderungen der Datei „README.md“ wurden in das GitLab-Repository verschoben.
Als nächstes kehren Sie zu Ihrem GitLab-Repository in Ihrem Webbrowser zurück und Sie erhalten die neue Version der Datei „README.md“ mit dem Commit-Kommentar oben.
Als Ergebnis haben wir erfolgreich ein neues GitLab-Projekt erstellt und Änderungen daran vorgenommen.
Schließlich wurde die Installation und Konfiguration von GitLab auf CentOS 8 Server erfolgreich abgeschlossen.