GitLab auf Alma Linux 8 installieren

GitLab ist eine kostenlose und quelloffene DevOps-Software, die mehrere Tools für die Entwicklung, Sicherung und den Betrieb von Software in einer einzigen Anwendung enthält. Sie bietet kostenlose, unbegrenzte Repositories und unbegrenzte Mitwirkende. Sie wird in erster Linie zum Hosten von Git-Repositories verwendet und bietet zusätzliche entwicklungsbezogene Funktionen wie die Problemverfolgung. Es ist Github und Bitbucket sehr ähnlich und ermöglicht es Einzelpersonen und Teams, Code aus der Ferne mit anderen zu teilen.

GitLab ist in vier Hauptversionen erhältlich:

  • GitLab Community Edition – Kostenlos, Open-Source und selbst gehostet.
  • GitLab Enterprise Edition – Selbstgehostet und kostenpflichtig mit zusätzlichen Funktionen.
  • GitLab.com – Kostenlos und SaaS.
  • GitLab.io – Private GitLab-Instanz, verwaltet von GitLab Inc.

In diesem Beitrag erklären wir dir, wie du GitLab CE auf Alma Linux 8 installierst.

Voraussetzungen

  • Ein Server, auf dem Alma Linux 8 läuft.
  • Ein gültiger Domainname, der auf die IP deines Servers zeigt.
  • Ein Root-Passwort ist auf dem Server eingerichtet.

Hinzufügen des GitLab CE Repositorys

Standardmäßig ist das GitLab-Paket nicht im Standard-Repository von Alma Linux enthalten. Daher musst du das offizielle GitLab-Repository zu deinem System hinzufügen. Du kannst das folgende Skript herunterladen und hinzufügen, um das GitLab-Repository hinzuzufügen.

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

Du erhältst dann die folgende Ausgabe:

Complete!
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.

Du kannst das installierte Repository mit folgendem Befehl überprüfen:

cat /etc/yum.repos.d/gitlab_gitlab-ce.repo

Du erhältst die folgende Ausgabe:

[gitlab_gitlab-ce]
name=gitlab_gitlab-ce
baseurl=https://packages.gitlab.com/gitlab/gitlab-ce/el/8/$basearch
repo_gpgcheck=1
gpgcheck=1
enabled=1
gpgkey=https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey
       https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey/gitlab-gitlab-ce-3D645A26AB9FBD22.pub.gpg
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300

[gitlab_gitlab-ce-source]
name=gitlab_gitlab-ce-source
baseurl=https://packages.gitlab.com/gitlab/gitlab-ce/el/8/SRPMS
repo_gpgcheck=1
gpgcheck=1
enabled=1
gpgkey=https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey
       https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey/gitlab-gitlab-ce-3D645A26AB9FBD22.pub.gpg
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300

Du kannst das GitLab-Repository auch mit dem folgenden Befehl auflisten:

dnf repolist

Du erhältst die folgende Ausgabe:

repo id                                                               repo name
appstream                                                             Rocky Linux 8 - AppStream
baseos                                                                Rocky Linux 8 - BaseOS
extras                                                                Rocky Linux 8 - Extras
gitlab_gitlab-ce                                                      gitlab_gitlab-ce
gitlab_gitlab-ce-source                                               gitlab_gitlab-ce-source

GitLab CE auf Alma Linux 8 installieren

Jetzt ist das GitLab-Repository auf deinem System erstellt. Jetzt kannst du GitLab CE mit folgendem Befehl installieren:

dnf install gitlab-ce -y

Sobald GitLab CE installiert ist, erhältst du die folgende Ausgabe:

It looks like GitLab has not been configured yet; skipping the upgrade script.

       *.                  *.
      ***                 ***
     *****               *****
    .******             *******
    ********            ********
   ,,,,,,,,,***********,,,,,,,,,
  ,,,,,,,,,,,*********,,,,,,,,,,,
  .,,,,,,,,,,,*******,,,,,,,,,,,,
      ,,,,,,,,,*****,,,,,,,,,.
         ,,,,,,,****,,,,,,
            .,,,***,,,,
                ,*,.
  


     _______ __  __          __
    / ____(_) /_/ /   ____ _/ /_
   / / __/ / __/ /   / __ `/ __ \
  / /_/ / / /_/ /___/ /_/ / /_/ /
  \____/_/\__/_____/\__,_/_.___/
  

Please configure a URL for your GitLab instance by setting `external_url`
Thank you for installing GitLab!
GitLab was unable to detect a valid hostname for your instance.
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-8


  Verifying        : gitlab-ce-14.8.2-ce.0.el8.x86_64                       1/1 

Installed:
  gitlab-ce-14.8.2-ce.0.el8.x86_64                                              

Complete!

GitLab CE konfigurieren

Als Nächstes musst du deinen Domänennamen in der GitLab-Konfigurationsdatei festlegen. Dazu bearbeitest du die GitLab-Konfigurationsdatei:

nano /etc/gitlab/gitlab.rb

Ändere die folgende Zeile mit deinem Domänennamen:

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

Speichere und schließe die Datei und konfiguriere den GitLab mit folgendem Befehl neu:

gitlab-ctl reconfigure

Sobald die GitLab CE neu konfiguriert ist, erhältst du die folgende Ausgabe:

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!

Du kannst nun den Status des GitLab CE mit folgendem Befehl überprüfen:

gitlab-ctl status

Du erhältst die folgende Ausgabe:

run: gitaly: (pid 26684) 69s; run: log: (pid 25075) 351s
run: gitlab-exporter: (pid 26617) 73s; run: log: (pid 25555) 207s
run: gitlab-kas: (pid 26585) 75s; run: log: (pid 25339) 334s
run: gitlab-workhorse: (pid 26595) 74s; run: log: (pid 25472) 229s
run: grafana: (pid 26665) 70s; run: log: (pid 26315) 110s
run: logrotate: (pid 25000) 364s; run: log: (pid 25008) 363s
run: nginx: (pid 25488) 226s; run: log: (pid 25499) 222s
run: node-exporter: (pid 26603) 74s; run: log: (pid 25541) 213s
run: postgres-exporter: (pid 26659) 70s; run: log: (pid 25891) 168s
run: postgresql: (pid 25207) 341s; run: log: (pid 25218) 340s
run: prometheus: (pid 26631) 72s; run: log: (pid 25629) 194s
run: puma: (pid 25406) 249s; run: log: (pid 25417) 246s
run: redis: (pid 25039) 358s; run: log: (pid 25047) 357s
run: redis-exporter: (pid 26620) 73s; run: log: (pid 25575) 201s
run: sidekiq: (pid 25423) 243s; run: log: (pid 25435) 239s

Um das GitLab anzuhalten, führe den folgenden Befehl aus:

gitlab-ctl stop

Um das GitLab zu starten, führe den folgenden Befehl aus:

gitlab-ctl start

Wenn du damit fertig bist, kannst du mit dem nächsten Schritt fortfahren.

Firewall konfigurieren

Als Nächstes musst du den HTTP-Dienst über die Firewalld zulassen. Du kannst ihn mit dem folgenden Befehl zulassen:

firewall-cmd --permanent --add-service=http

Als Nächstes musst du den Firewalld-Daemon neu laden, damit die Änderungen übernommen werden:

systemctl reload firewalld

Sobald die Firewall konfiguriert ist, kannst du mit dem nächsten Schritt fortfahren.

Zugriff auf GitLab CE

Bevor du auf GitLab CE zugreifst, rufst du mit folgendem Befehl das GitLab Root-Passwort ab:

cat /etc/gitlab/initial_root_password

Du solltest das GitLab CE Root-Passwort in der folgenden 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: XIlQ4/J7oQ49ZdNuGZto3f5vEJGHZJSTRSIuYL9z0/k=

# NOTE: This file will be automatically deleted in the first reconfigure run after 24 hours.

Öffne nun deinen Webbrowser und rufe die GitLab-Weboberfläche über die URL http://gitlab.example.com auf . Du wirst auf die Anmeldeseite von GitLab weitergeleitet:

GitLab Anmeldung

Gib deinen Root-Benutzernamen und dein Passwort ein und klicke auf die Schaltfläche “ Anmelden „. Auf der folgenden Seite solltest du die GitLab-Weboberfläche sehen:

Gitlab Dashboard

GitLab-Backup konfigurieren

Mit GitLab kannst du auch ein Backup der GitLab-Instanz erstellen. Um ein Backup der GitLab-Instanz zu erstellen, führe den folgenden Befehl aus:

gitlab-rake gitlab:backup:create

Sobald das Backup erstellt ist, erhältst du die folgende Ausgabe:

2022-03-11 11:13:11 +0000 -- done
2022-03-11 11:13:11 +0000 -- Dumping uploads ... 
2022-03-11 11:13:11 +0000 -- done
2022-03-11 11:13:11 +0000 -- Dumping builds ... 
2022-03-11 11:13:11 +0000 -- done
2022-03-11 11:13:11 +0000 -- Dumping artifacts ... 
2022-03-11 11:13:11 +0000 -- done
2022-03-11 11:13:11 +0000 -- Dumping pages ... 
2022-03-11 11:13:11 +0000 -- done
2022-03-11 11:13:11 +0000 -- Dumping lfs objects ... 
2022-03-11 11:13:11 +0000 -- done
2022-03-11 11:13:11 +0000 -- Dumping terraform states ... 
2022-03-11 11:13:11 +0000 -- done
2022-03-11 11:13:11 +0000 -- Dumping container registry images ... 
2022-03-11 11:13:11 +0000 -- [DISABLED]
2022-03-11 11:13:11 +0000 -- Dumping packages ... 
2022-03-11 11:13:11 +0000 -- done
Creating backup archive: 1646997191_2022_03_11_14.8.2_gitlab_backup.tar ... done
Uploading backup archive to remote storage  ... skipped
Deleting tmp directories ... done

Standardmäßig wird das GitLab-Backup unter /var/opt/gitlab/backups gespeichert. Du kannst den Backup-Pfad ändern, indem du die Einstellungen in der GitLab-Konfigurationsdatei unter /etc/gitlab/gitlab.rbbearbeitest .

Du kannst das erstellte Backup mit dem folgenden Befehl überprüfen:

ls /var/opt/gitlab/backups

Du erhältst die folgende Ausgabe:

1646997191_2022_03_11_14.8.2_gitlab_backup.tar

GitLab Root-Passwort zurücksetzen

Wenn du das Passwort des GitLab-Administrators vergessen hast, kannst du es mit dem folgenden Befehl zurücksetzen:

gitlab-rake "gitlab:password:reset"

Du wirst aufgefordert, ein neues Passwort festzulegen (siehe unten):

Enter username: root
Enter password: 
Confirm password: 
Password successfully updated for user with username root.

Fazit

Herzlichen Glückwunsch! Du hast GitLab CE erfolgreich auf Alma Linux 8 installiert. Jetzt kannst du GitLab in deiner Entwicklungsumgebung einsetzen. Wenn du noch Fragen hast, kannst du dich gerne an mich wenden.

Das könnte dich auch interessieren …