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 17 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 Zertifikate 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 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.