GitLab Pages

Mithilfe von GitLab Pages können Sie statische Internetseite für Ihre bestehenden Git-Repositories hosten. Eine vollständige Liste aller Funktionen finden Sie auch in der offiziellen GitLab-Dokumentation unter: https://docs.gitlab.com/ee/administration/pages/



Voraussetzungen

  • GitLab 15 CE oder EE
  • Dedizierte GitLab Pages Domain (z.B: pages.company.com)
  • Wildcard SSL-Zertifikat für die GitLab Pages Domain
  • SSH/FTP/SFTP-Zugriff (Optional für SSL)



GitLab Pages aktivieren

Für die Konfiguration und initale Einrichtung von GitLab Pages sind folgende Schritte erforderlich:


Wildcard DNS-Eintrag

Für die Nutzung der GitLab Pages Integration muss ein Wildcard DNS-Eintrag für das GitLab Pages Modul angelegt werden. Der DNS-Eintrag darf keine Subdomain von der bestehenden Instanz sein.

RR-Typ Host Wert
A pages IPv4-Adresse GitLab Server
AAAA pages IPv6-Adresse GitLab Server
A *.pages IPv4-Adresse GitLab Server
AAAA *.pages IPv6-Adresse GitLab Server


Für die GitLab Pages Integration wird eine dedizierte Domain benötigt. Die Domain darf keine Subdomain der bestehenden GitLab-Instanz sein. Sofern Ihre GitLab Instanz unter git.company.com erreichbar ist, wäre die Domain pages.company.com möglich. Der Einsatz auf der Subdomain pages.git.company.com ist nicht zulässig.


Wildcard SSL-Zertifikat in der GitLab Server Instanz platzieren

Nutzen Sie für das Wildcard SSL-Zertifikat beispielsweise unser Sectigo Essential SSL-Zertifikat. Alternativ können Sie auch ein kostenloses Wildcard SSL-Zertifikat von Let's Encrypt über unser Kundencenter ausstellen. Beachten Sie hierbei, dass die kostenlosen Zertifikat nur 3 Monate gültig sind und vor Ablauf manuell verlängert werden müssen.

Siehe auch: https://www.creoline.com/de/certificates


GitLab Konfiguration anpassen

Nachdem die notwendigen DNS-Einträge hinterlegt wurden und das erforderliche SSL-Zertifikat ausgestellt wurde, können Sie mit der Konfiguration in GitLab beginnen.

Um die GitLab Pages einzurichten, melden Sie sich im creoline Kundencenter an und navigieren Sie zu dem GitLab-Server, für den Sie GitLab Pages einrichten möchten. Wählen Sie die Registerkarte Konfigurationsdateien aus und klicken Sie anschließend auf Bearbeiten.

Passen Sie die Konfiguration wie folgt an, die entsprechende Nummer der Zeile in der Konfigurationsdatei können Sie ebenfalls dem nachfolgenden Bild entnehmen:


Sie können zum schnelleren Navigieren beim Editieren großer Konfigurationsdateien mit Ctrl + F (Windows) bzw. Command + F (MacOs) auch innerhalb der Konfigurationsdatei nach einem bestimmten Begriff o. ä. suchen.


Tragen Sie im Bereich pages_external_url die gewünschte neue GitLab-URL ein.

Beispiel:

pages_external_url "https://pages.company.com"


Damit die Funktion auch aktiviert ist und ordnungsgemäß mit dem verwendeten Webserver zusammenarbeitet, ist es erforderlich, folgende Punkte in der Konfigurationsdatei ebenfalls hinzuzufügen bzw. zu aktivieren:

# GitLab Pages Modul aktivieren
gitlab_pages['enable'] = true

# GitLab Pages Modul via nginx bereitstellen
pages_nginx['enable'] = true

# GitLab Pages Modul automatisch zu https:// weiterleiten
pages_nginx['redirect_http_to_https'] = true 


Die Konfiguration von pages_nginx['ssl_certificate'] sowie pages_nginx['ssl_certificate'] ist nur erforderlich, wenn Sie von der Namenskonvention abweichen. GitLab erwatet, dass die notwendigen Zertifikatsdateien nach folgendem Schema bereitgestellt wird:

Typ Pfad Beispiel
Server-Zertifikat (inkl. Chain) /etc/gitlab/ssl/[WILDCARD_DOMAIN].crt /etc/gitlab/ssl/pages.company.com.crt
Privater-Schlüssel /etc/gitlab/ssl/[WILDCARD_DOMAIN].key /etc/gitlab/ssl/pages.company.com.key


Hinterlegen Sie anschließend die beiden Zertifikats-Komponenten in dem Verzeichnis /etc/gitlab/ssl via SSH oder FTP/SFTP wie zuvor beschrieben.


Tragen Sie anschließend im Bereich Änderungsnachricht eine kurze Nachricht ein, weshalb die GitLab-URL geändert wurde und speichern Sie die Änderungen über die Schaltfläche Änderungen speichern.


Das Speichern der Konfiguration löst automatisch das Deployment der Konfiguration sowie den anschließenden Neustart von GitLab aus. Informieren Sie aktive Nutzer im Vorfeld über die geplante Maßnahme.

Den Deployment-Status können Sie der Registerkarte Deployments entnehmen.

Nachdem das Deployment erfolgreich beendet wurde, können Sie über das Webinterface von GitLab die allgemeinen Einstellungen der GitLab Pages Integration erreichen.


Navigieren Sie hierzu zu dem Menüpunkt: Admin → Settings → Preferences → Pages

GitLab Pages - Einstellungen

GitLab Pages - Einstellungen




GitLab Pages Integration für ein bestehendes Repository aktivieren

Navigieren Sie zu dem gewünschten Repository und rufen Sie den Menüpunkt Settings → Pages auf. Von hier aus können Sie die Pipeline-Konfiguration über die gitlab-ci.yml anpassen, um die GitLab Page zu aktivieren.




GitLab Pages Custom Domains

Neben dem grundlegenden GitLab Pages Modul, können Sie zusätzlich benutzerdefinierte Domains für Repositories verwenden, die von der zuvor angelegten GitLab Pages Domain abweichen. Für die Integration von Custom Domains, ist eine zusätzliche IPv4- sowie IPv6-Adresse erforderlich.


Zusätzliche IPv4-Adressen können direkt über unseren Live-Chat oder über unser Ticketsystem gebucht werden. Aktuelle Preise für zusätzliche IP-Adressen finden Sie in dem Artikel Preisliste für Zusatzleistungen und Sonderleistungen.


Nachdem die zusätzlichen IP-Adressen am GitLab Server hinterlegt wurden, muss jede gewünschte Custom Domain für die Nutzung konfiguriert werden.


DNS-Einstellungen für GitLab Pages Custom Domains:

RR-Typ Host Wert
A custom-domain.com Zusätzliche IPv4-Adresse
AAAA custom-domain.com Zusätzliche IPv6-Adresse


Für die Custom Domains gibt es keine technischen Voraussetzungen für den Host-Anteil. Sie können die primäre Domain als auch jede beliebige Subdomain verwenden. Nachdem Sie die erforderlichen DNS-Einträge angelegt haben, kann die Custom Domain in den Repository-Einstellungen vorgenommen werden. GitLab versucht automatisch ein Let's Encrypt Zertifikat für die Domain zu beantragen, sodass eine zusätzliche Ausstellung von Zertifikaten entfällt.