GitLab ist eine kostenlose, webbasierte Open-Source-Versionskontrollplattform, mit der Sie alle Ihre Git-Repositories vom zentralisierten Server aus verwalten können. GitLab ist eine großartige Alternative zu Github und bietet sehr nützliche Funktionen wie Codeüberprüfung, Problemverwaltung, Repository-Verzweigung, Zusammenführung, Zeiterfassung sowie kontinuierliche Integration und Bereitstellung. GitLab wurde speziell für Entwickler entwickelt, um ihre Projekte zu erstellen, zu überprüfen und bereitzustellen.
GitLab ist in drei verschiedenen Editionen verfügbar:Community Edition (CE), Enterprise Edition (EE) und eine von GitLab gehostete Version. Sie können jede davon je nach den Anforderungen Ihres Anwendungsfalls installieren.
In diesem Tutorial zeigen wir Ihnen, wie Sie GitLab CE unter CentOS 8 installieren.
Voraussetzungen
- Ein frischer CentOS 8 VPS auf der Atlantic.Net Cloud Platform.
- Eine CPU mit 2 Kernen zur Unterstützung von bis zu 500 Benutzern.
- Mindestens 4 GB RAM zur Unterstützung von bis zu 50 Benutzern.
- Ein gültiger Domainname, der auf Ihre Server-IP verweist.
- Ein auf Ihrem Server konfiguriertes Root-Passwort.
Schritt 1 – Atlantic.Net Cloud-Server erstellen
Melden Sie sich zunächst bei Ihrem Atlantic.Net Cloud Server an. Erstellen Sie einen neuen Server und wählen Sie CentOS 8 als Betriebssystem mit mindestens 4 GB RAM. Stellen Sie über SSH eine Verbindung zu Ihrem Cloud-Server her und melden Sie sich mit den oben auf der Seite hervorgehobenen Anmeldeinformationen an.
Sobald Sie sich bei Ihrem CentOS 8-Server angemeldet haben, führen Sie den folgenden Befehl aus, um Ihr Basissystem mit den neuesten verfügbaren Paketen zu aktualisieren.
dnf update -y
Als nächstes müssen Sie einige erforderliche Abhängigkeiten auf Ihrem System installieren. Sie können sie alle mit dem folgenden Befehl installieren:
dnf install curl policycoreutils python3-policycoreutils -y
Schritt 2 – GitLab CE installieren
Sie können es mit dem folgenden Befehl installieren:
curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | bash
Nachdem das Repository hinzugefügt wurde, sollten Sie die folgende Ausgabe erhalten:
Installieren Sie als Nächstes GitLab CE, indem Sie den folgenden Befehl ausführen:
dnf install gitlab-ce -y
Sobald die Installation erfolgreich abgeschlossen wurde, können Sie mit dem nächsten Schritt fortfahren.
Schritt 3 – GitLab mit Let’s Encrypt sichern
Als Nächstes müssen Sie die GitLab-URL festlegen und die Integration von Let’s Encrypt aktivieren. Sie können dies tun, indem Sie die Datei /etc/gitlab/gitlab.rb:
bearbeitennano /etc/gitlab/gitlab.rb
Ändern Sie die folgenden Zeilen, die Ihrem Domainnamen entsprechen, und aktivieren Sie die Let’s Encrypt-Integration mit Ihrem gewünschten Wert:
external_url 'https://gitlab.example.com' letsencrypt['enable'] = true letsencrypt['contact_emails'] = ['[email protected]'] letsencrypt['auto_renew'] = true letsencrypt['auto_renew_hour'] = 12 letsencrypt['auto_renew_minute'] = 15 letsencrypt['auto_renew_day_of_month'] = "*/4"
Speichern und schließen Sie die Datei, wenn Sie fertig sind. Konfigurieren Sie dann GitLab CE mit dem folgenden Befehl neu:
gitlab-ctl reconfigure
Dieser Befehl konfiguriert GitLab neu und sichert es mit Let’s Encrypt SSL. Sobald das GitLab-Setup erfolgreich abgeschlossen wurde, sollten Sie die folgende Ausgabe erhalten:
* execute[reload prometheus] action run - execute /opt/gitlab/bin/gitlab-ctl hup prometheus Recipe: monitoring::alertmanager * runit_service[alertmanager] action restart (up to date) Recipe: monitoring::postgres-exporter * runit_service[postgres-exporter] action restart (up to date) Recipe: monitoring::grafana * runit_service[grafana] action restart (up to date) Recipe: nginx::enable * execute[reload nginx] action run - execute gitlab-ctl hup nginx Recipe: letsencrypt::enable * ruby_block[display_le_message] action run - execute the ruby block display_le_message Recipe: crond::enable * runit_service[crond] action restart (up to date) Running handlers: Running handlers complete Chef Client finished, 609/1641 resources updated in 10 minutes 43 seconds Warnings: Environment variable LANG specifies a non-UTF-8 locale. GitLab requires UTF-8 encoding to function properly. Please check your locale settings. gitlab Reconfigured!
Schritt 4 – Greifen Sie auf die GitLab-Web-Benutzeroberfläche zu
An diesem Punkt ist GitLab installiert und konfiguriert, und Sie können jetzt auf die GitLab-Benutzeroberfläche zugreifen, indem Sie die URL https://gitlab.example.com besuchen. Sie werden wie unten gezeigt zum Passwortänderungsbildschirm weitergeleitet:
Legen Sie das neue Passwort für den Root-Benutzer fest und klicken Sie auf Ändern dein Passwort Taste. Sobald das Passwort erfolgreich geändert wurde, sollten Sie den Anmeldebildschirm von GitLab sehen:
Geben Sie als Benutzernamen root, Ihr festgelegtes Passwort ein und klicken Sie auf das Zeichen in Taste. Sie sollten das GitLab-Dashboard auf dem folgenden Bildschirm sehen:
Schritt 5 – Benutzerregistrierung deaktivieren
Um die Benutzerregistrierung zu deaktivieren, klicken Sie auf Admin Bereich wie unten gezeigt:
Klicken Sie nun auf Einstellungen im linken Bereich. Sie sollten die folgende Seite sehen:
Als nächstes Erweitern die Anmeldebeschränkungen. Sie sollten die folgende Seite sehen:
Deaktivieren Sie als Nächstes die Schaltfläche Anmeldung aktiviert, um die Benutzerregistrierung auf der GitLab-Willkommensseite zu deaktivieren, und klicken Sie auf Speichern Änderungen Schaltfläche.
Melden Sie sich als Nächstes von Ihrem GitLab-Dashboard ab. Sie sollten den folgenden Bildschirm sehen:
Wie Sie sehen, fehlt die Registerkarte für die Benutzerregistrierung.
Schritt 6 – GitLab-Sicherung automatisieren
Mit dem folgenden Befehl können Sie ein vollständiges Backup der GitLab-Daten erstellen:
gitlab-rake gitlab:backup:create
Dieser Befehl erstellt eine vollständige Sicherung der GitLab-Daten und speichert sie im Verzeichnis /var/opt/gitlab/backups. Sobald die Sicherung erfolgreich abgeschlossen wurde, sollten Sie die folgende Ausgabe erhalten:
2020-03-22 10:59:34 -0400 -- Dumping database ... Dumping PostgreSQL database gitlabhq_production ... [DONE] 2020-03-22 10:59:37 -0400 -- done 2020-03-22 10:59:37 -0400 -- Dumping repositories ... 2020-03-22 10:59:38 -0400 -- done 2020-03-22 10:59:38 -0400 -- Dumping uploads ... 2020-03-22 10:59:38 -0400 -- done 2020-03-22 10:59:38 -0400 -- Dumping builds ... 2020-03-22 10:59:38 -0400 -- done 2020-03-22 10:59:38 -0400 -- Dumping artifacts ... 2020-03-22 10:59:38 -0400 -- done 2020-03-22 10:59:38 -0400 -- Dumping pages ... 2020-03-22 10:59:38 -0400 -- done 2020-03-22 10:59:38 -0400 -- Dumping lfs objects ... 2020-03-22 10:59:38 -0400 -- done 2020-03-22 10:59:38 -0400 -- Dumping container registry images ... 2020-03-22 10:59:38 -0400 -- done Creating backup archive: 1584889178_2020_03_22_12.9.0_gitlab_backup.tar ... done Uploading backup archive to remote storage ... skipped Deleting tmp directories ... done done done done done done done done done Deleting old backups ... skipping Backup task is done.
Es wird empfohlen, Backups mit Cron zu planen, damit Sie Backups nicht regelmäßig ausführen müssen.
Sie können Sicherungen planen, indem Sie die folgende Datei bearbeiten:
nano /etc/crontab
Fügen Sie die folgende Zeile hinzu, um GitLab-Daten täglich um 20:00 Uhr zu sichern:
0 20 * * * gitlab-rake gitlab:backup:create
Speichern und schließen Sie die Datei, wenn Sie fertig sind.
Schlussfolgerung
Herzliche Glückwünsche! Sie haben GitLab CE erfolgreich auf dem CentOS 8-Server installiert und konfiguriert. Sie können jetzt Ihr eigenes Repository mit GitLab hosten und noch heute mit GitLab auf einem VPS mit Atlantic.Net mit anderen Entwicklern zusammenarbeiten!