So installierst du GitLab unter Debian 11
GitLab ist eine kostenlose und quelloffene DevOps-Plattform, die es Teams ermöglicht, schneller zu iterieren und gemeinsam zu innovieren. Es ist ein webbasiertes Tool, das von GitLab Inc. entwickelt wurde. Es ist GitHub sehr ähnlich und bietet einen Git-Repository-Manager mit Wiki, Issue-Tracking, kontinuierlicher Integration und Bereitstellung. Die GitLab Community Edition ist absolut kostenlos für Entwicklungs- und Produktionsumgebungen erhältlich.
In dieser Anleitung zeige ich dir, wie du GitLab mit Nginx und Let’s Encrypt SSL unter Debian 11 installierst.
Voraussetzungen
- Ein Server mit Debian 11 und mindestens 8 GB RAM.
- Ein gültiger Domainname, der auf die Server-IP verweist.
- Ein Root-Passwort ist auf dem Server konfiguriert.
Erste Schritte
Bevor du beginnst, solltest du deinen Paket-Cache auf die neueste Version aktualisieren. Das kannst du mit dem folgenden Befehl tun:
apt-get update -y
Danach installierst du die anderen erforderlichen Abhängigkeiten mit dem folgenden Befehl:
apt-get install curl ca-certificates apt-transport-https gnupg2 -y
Sobald alle erforderlichen Abhängigkeiten installiert sind, kannst du mit dem nächsten Schritt fortfahren.
GitLab-Repository hinzufügen
Standardmäßig ist das GitLab-Paket nicht im Standard-Repository von Debian verfügbar. Daher musst du das GitLab-Repository zur APT hinzufügen.
Du kannst es hinzufügen, indem du das folgende Skript ausführst:
curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | bash
Dadurch wird das GitLab-Repository zur APT-Quelllistendatei hinzugefügt.
Zum Zeitpunkt der Erstellung dieses Artikels ist das GitLab-Paket noch nicht für Debian 11 verfügbar. Du musst also die GitLab-Quelldatei bearbeiten und den Debian 11-Codenamen durch Debian 10 ersetzen:
nano /etc/apt/sources.list.d/gitlab_gitlab-ce.list
Suche die folgenden Zeilen:
deb https://packages.gitlab.com/gitlab/gitlab-ce/debian/ bullseye main deb-src https://packages.gitlab.com/gitlab/gitlab-ce/debian/ bullseye main
Ersetze sie durch die folgenden Zeilen:
deb https://packages.gitlab.com/gitlab/gitlab-ce/debian/ buster main deb-src https://packages.gitlab.com/gitlab/gitlab-ce/debian/ buster main
Speichere und schließe die Datei und aktualisiere dann das Repository mit dem folgenden Befehl:
apt-get update -y
GitLab CE installieren
Du kannst nun GitLab CE installieren, indem du folgenden Befehl ausführst:
apt-get install gitlab-ce -y
Sobald GitLab installiert ist, solltest du die folgende Ausgabe erhalten:
It looks like GitLab has not been configured yet; skipping the upgrade script. *. *. *** *** ***** ***** .****** ******* ******** ******** ,,,,,,,,,***********,,,,,,,,, ,,,,,,,,,,,*********,,,,,,,,,,, .,,,,,,,,,,,*******,,,,,,,,,,,, ,,,,,,,,,*****,,,,,,,,,. ,,,,,,,****,,,,,, .,,,***,,,, ,*,. _______ __ __ __ / ____(_) /_/ / ____ _/ /_ / / __/ / __/ / / __ `/ __ \ / /_/ / / /_/ /___/ /_/ / /_/ / \____/_/\__/_____/\__,_/_.___/ Thank you for installing GitLab! GitLab was unable to detect a valid hostname for your instance. Please configure a URL for your GitLab instance by setting `external_url` configuration in /etc/gitlab/gitlab.rb file. Then, you can start your GitLab instance by running the following command: sudo gitlab-ctl reconfigure For a comprehensive list of configuration options please see the Omnibus GitLab readme https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md Help us improve the installation experience, let us know how we did with a 1 minute survey: https://gitlab.fra1.qualtrics.com/jfe/form/SV_6kVqZANThUQ1bZb?installation=omnibus&release=14-3
GitLab konfigurieren
Zu diesem Zeitpunkt ist GitLab auf deinem System installiert, aber noch nicht konfiguriert. Du kannst es konfigurieren, indem du die folgende Datei bearbeitest:
nano /etc/gitlab/gitlab.rb
Ändere die folgende Zeile mit deinem Domainnamen:
external_url 'https://gitlab.linuxbuz.com'
Als Nächstes änderst du die folgenden Zeilen, um Let’s Encrypt SSL zu aktivieren:
# Enable the Let's encrypt SSL letsencrypt['enable'] = true # This is optional to get SSL related alerts letsencrypt['contact_emails'] = ['hitjethva@gmail.com'] # This example renews every 7th day at 02:00 AM letsencrypt['auto_renew_hour'] = "2" letsencrypt['auto_renew_minute'] = "0" letsencrypt['auto_renew_day_of_month'] = "*/7"
Speichere und schließe die Datei und konfiguriere GitLab mit dem folgenden Befehl neu:
gitlab-ctl reconfigure
Sobald GitLab neu konfiguriert ist, solltest du die folgende Ausgabe mit dem GitLab-Zugangspasswort erhalten:
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. NOTE: Because these credentials might be present in your log files in plain text, it is highly recommended to reset the password following https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password. gitlab Reconfigured!
Als Nächstes rufst du das GitLab-Zugangspasswort mit dem folgenden Befehl ab:
cat /etc/gitlab/initial_root_password
Du solltest die folgende Ausgabe sehen:
# WARNING: This value is valid only in the following conditions # 1. If provided manually (either via `GITLAB_ROOT_PASSWORD` environment variable or via `gitlab_rails['initial_root_password']` setting in `gitlab.rb`, it was provided before database was seeded for the first time (usually, the first reconfigure run). # 2. Password hasn't been changed manually, either via UI or via command line. # # If the password shown here doesn't work, you must reset the admin password following https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password. Password: WBgnk2SH4xK5FeJVsJX0Qo79IeyE5LSTGWm3EjDVEkw= # NOTE: This file will be automatically deleted in the first reconfigure run after 24 hours.
Zugriff auf GitLab
Du kannst nun über die URL https://gitlab.linuxbuz.com auf das GitLab-Dashboard zugreifen. Du wirst auf die Anmeldeseite von GitLab weitergeleitet:
Gib deinen Benutzernamen und dein Passwort ein und klicke auf die Schaltfläche “ Anmelden „. Auf dem folgenden Bildschirm solltest du das GitLab-Dashboard sehen:
GitLab Backup konfigurieren
Nach der Installation empfiehlt es sich, ein vollständiges Backup von GitLab zu erstellen. Das kannst du mit dem folgenden Befehl tun:
gitlab-rake gitlab:backup:create
Du kannst das Backup auch planen, indem du die Datei /etc/crontab bearbeitest:
nano /etc/crontab
Füge die folgende Zeile ein:
0 22 * * * root gitlab-rake gitlab:backup:create
Speichere und schließe die Datei, wenn du fertig bist.
Fazit
Herzlichen Glückwunsch! Du hast GitLab mit Nginx und Let’s Encrypt SSL erfolgreich auf Debian 11 installiert. Jetzt kannst du GitLab in deiner Entwicklungsumgebung einsetzen, um den Softwareentwicklungsprozess zu beschleunigen. Wenn du noch Fragen hast, kannst du dich gerne an mich wenden.