Cookies helfen uns bei der Bereitstellung des IMT HilfeWikis. Bei der Nutzung vom IMT HilfeWiki werden die in der Datenschutzerklärung beschriebenen Cookies gespeichert.Weitere Informationen

GitLab - CI/CD Kurzanleitung - statische Webseiten mit HUGO: Unterschied zwischen den Versionen

IMT HilfeWiki - das Wiki
Wechseln zu:Navigation, Suche
(Die Seite wurde neu angelegt: „{{article |type=Anleitung |service=Service:GitLab |targetgroup=Angestellte,Studierende,Gäste |hasdisambig=Nein }} Kurzer Einleitungstext == Was ist zu tun?…“)
 
 
(4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 5: Zeile 5:
 
|hasdisambig=Nein
 
|hasdisambig=Nein
 
}}
 
}}
Kurzer Einleitungstext
+
In dieser Anleitung erfahren Sie, wie Sie mithilfe des HUGO-Frameworks statische Webseiten über GitLab CI/CD automatisch erstellen und auf einer Instanz des Cloudcomputing Dienstes bereitstellen.
 +
<bootstrap_alert color=info>Um mit dieser Anleitung folgen zu können, benötigen Sie den Zugang zum [https://hilfe.uni-paderborn.de/GitLab GitLab Dienst] des IMT und einen gültigen Zugang zum [https://hilfe.uni-paderborn.de/Cloudcomputing Cloudcomputing Dienst]. Darüberhinaus erfordert dieser Artikel grundlegende Erfahrung im Umgang mit Linux.
 +
</bootstrap_alert>
 +
 
 +
Bei HUGO handelt es sich um einen freien, statischen Websidegenerator. Dieser erstellt aus HTML- und Markdown-Dateien statische Webseiten. Der Vorteil liegt hier darin, dass die Seite nicht bei jeden Aufruf neu erstellt werden muss, sondern nur wenn etwas geändert wurde.
 +
Dies ist Ressourcen schonend, effizient und einfach in der Handhabung. Weitere Informationen zu Hugo und einige Beispiel-Webseiten finden Sie auf der [https://gohugo.io/ HUGO-Webseite].
  
 
== Was ist zu tun? ==
 
== Was ist zu tun? ==
* Stichpunktartige Auflistung
+
* Ein GitLab Projekt erstellen
* aller Arbeitsschritte
+
* Entwicklungsumgebung einrichten und HUGO installieren
 +
* Git installieren
 +
* Testprojekt erstellen
 +
* Eine Instanz im Cloudcomputing Dienst erstellen und einrichten
 +
* Den GitLab Runner einrichten
 +
* GitLab CI/CD Workflow erstellen und testen
 +
 
 +
== Gitlab Projekt erstellen ==
 +
Als ersten Schritt erstellen Sie zunächst ein neuen GitLab Projekt, vergeben Sie einen aussagekräftigen Namen.
 +
Wie Sie ein neues GitLab Projekt anlegen wird im [https://hilfe.uni-paderborn.de/GitLab#Wie_lege_ich_ein_neues_GitLab_Repository_an IMT HilfeWiki zu GitLab] erklärt.
 +
 
 +
Für diese Anleitung muss noch eine Einstellungen des Projektes geändert werden. Klicken Sie dazu in der linken Menüleiste auf ''Settings/General'' und klicken dort bei ''Visibility, project features, permissions'' den ''Expand'' Button.
 +
Aktivieren Sie den Punkt ''CI/CD'', dieses Feature werden wir im Laufe der Anleitung benutzten. Klicken Sie zum Speichern der Einstellung auf ''Save changes''.
 +
 
 +
[[Datei:Screenshot_GitLab_CI_CD_Setting.png |mini|500px|none| GitLab CI/CD aktivieren]]
 +
 
 +
== Entwicklungsumgebung einrichten und HUGO installieren ==
 +
Ist das GitLab Projekt angelegt, ist der nächste Schritt sich eine Entwicklungsumgebung einzurichten.
 +
Dazu benötigen Sie auf ihrem Computer:
 +
* einen Texteditor ([https://code.visualstudio.com/ Visual Studio Code], [https://notepad-plus-plus.org/ NodePad++], o.ä.)
 +
* Git
 +
* HUGO
 +
 
 +
Wir empfehlen im Zuge dieser Anleitung den quelloffenen Texteditor [https://code.visualstudio.com/ Visual Studio Code] zu verwenden, da er für alle Plattformen verfügbar ist, ein integriertes Terminal bietet, durch Plug-ins erweiterbar ist und eine Vielzahl an Programmiersprachen und Framework unterstützt.
 +
Eine Anleitung zu Installation finden Sie unter [https://code.visualstudio.com/ https://code.visualstudio.com/].
 +
 
 +
Nachdem der Texteditor erfolgreich installiert ist, benötigen Sie noch eine Installation des HUGO Framework auf ihrem Computer. Dadurch können Sie lokal eine Webseite erstellen und diese über einen integrierten Testserver testen.
 +
Der [https://gohugo.io/getting-started/installing Getting-Started-Guide] auf der HUGO Website bietet eine Anleitung zur installation des Frameworks auf ihrem jeweiligen Betriebssystem.
 +
 
 +
Sie können die Installation überprüfen, indem Sie in ihr Terminal <code>hugo version</code> eingeben. Wenn die Installation erfolgreich war, sollten Sie folgende Ausgabe erhalten:
 +
<source>
 +
$ hugo version
 +
Hugo Static Site Generator v0.68.3/extended linux/amd64 BuildDate: 2020-03-25T06:15:45Z
 +
</source>
 +
 
 +
== Git installieren  ==
 +
Neben dem Texteditor und dem HUGO-Framework wird auch die Versionsverwaltung [https://de.wikipedia.org/wiki/Git Git] benötigt. Diese können Sie [https://git-scm.com/book/de/v2/Erste-Schritte-Git-installieren hier] herunterladen - dort finden Sie auch eine Installationsanleitung für ihr Betriebssystem.
 +
Durch die Versionverwaltung können Sie das zuvor angelegte Projekt von GitLab auf ihren Computer "klonen", darin weiterarbeiten und alle Änderungen später wieder auf den GitLab Server "pushen" (hochladen).
 +
 
 +
Darüberhinaus können Sie auch Module zu ihrem Projekt hinzufügen, im Falle von HUGO sind dieses z.B. Themes für ihre Website. Mehr dazu erfahren Sie im weiteren Verlauf dieser Anleitung.
 +
 
 +
'''TIPP:''' Visual Studio Code bietet eine grafisch gestützte Versionkontrolle mit Git, diese erleichtert den Einstieg im Arbeiten mit Git. Weitere Informationen zu diesem Thema finden Sie im [https://code.visualstudio.com/docs/editor/versioncontrol VSCode Wiki].
 +
 
 +
Nachdem Git installiert ist, können Sie das zuvor angelegte Projekt von GitLab klonen. Dazu klicken Sie auf der Übersichtsseite des Projekt auf GitLab rechts auf den Button '''Clone''' und kopieren
 +
sich die Zeile unter '''Clone with HTTPS'''.
 +
 
 +
Offnen Sie ein Terminalfenster auf ihrem Computer - unter Windows liefert Git das Git Bash Terminal mit, dies können Sie im Zuge dieser Anleitung benutzten.
 +
 
 +
Mit dem Befehl <code>git clone</code> können Sie ein Git Projekt klonen, fügen Sie die zuvor kopierte HTTPS-Adresse des Projektes an den Befehl an.
 +
<source>git clone $HTTPS-zu-meinem-GitLab-Projekt</source>
 +
 
 +
Das Projekt wird jetzt auf ihren Computer geklont.
 +
== HUGO Projekt erstellen ==
 +
Navigieren Sie in ihrem Terminal in den Ordner des Projektes, den Sie im vorherigen Schritt geklont haben - z.B. <code>cd MeinHugoProjekt</code>.
 +
Eine kleine Einführung in die Bash-Shell bekommen Sie im [https://help.ubuntu.com/community/UsingTheTerminal#File_.26_Directory_Commands Ubuntu Wiki].
 +
 
 +
Dort können wir mit HUGO eine neue Webseite erstellen, dazu geben Sie folgenden Befehl ein:
 +
<source>hugo new site tutorial</source>
 +
Den Namen der Webseite (tutorial) können Sie frei wählen.
 +
 
 +
Das HUGO-Framework erstellt jetzt automatisch alle nötigen Elemente und Ordner für das Projektes und Sie sollten folgende Ausgabe bekommen:
 +
<source>
 +
➜ hugo new site tutorial
 +
Congratulations! Your new Hugo site is created in /Users/till/hugo_test/tutorial.
 +
 
 +
Just a few more steps and you're ready to go:
 +
 
 +
1. Download a theme into the same-named folder.
 +
  Choose a theme from https://themes.gohugo.io/ or
 +
  create your own with the "hugo new theme <THEMENAME>" command.
 +
2. Perhaps you want to add some content. You can add single files
 +
  with "hugo new <SECTIONNAME>/<FILENAME>.<FORMAT>".
 +
3. Start the built-in live server via "hugo server".
 +
 
 +
Visit https://gohugo.io/ for quickstart guide and full documentation.
 +
</source>
 +
 
 +
Öffnen Sie in ihrem Terminal den Ordner des Hugo Projektes, dieser hat den automatisch den Namen des Projektes erhalten:
 +
<source>cd tutorial</source>
 +
 
 +
Ein HUGO Projekt kann um Module erweitert werden, dies ist üblicherweise ein Theme, der das Aussehen der Webseite bestimmt. Diese Module werden über Git als Submodule hinzugefügt.
 +
Für dieses Tutorial fügen wir unserem Projekt das [https://github.com/danielkvist/hugo-terrassa-theme Terrassa Theme] hinzu.
 +
 
 +
Dazu geben Sie im Ordner des Hugo Projektes diesen Befehl ein:
 +
<source>git submodule add https://github.com/danielkvist/hugo-terrassa-theme themes/terrassa</source>
 +
 
 +
Sie sollten folgende Ausgabe erhalten:
 +
<source>
 +
➜ git submodule add https://github.com/danielkvist/hugo-terrassa-theme themes/terrassa
 +
Cloning into '/tutorial/themes/terrassa'...
 +
remote: Enumerating objects: 1383, done.
 +
remote: Total 1383 (delta 0), reused 0 (delta 0), pack-reused 1383
 +
Receiving objects: 100% (1383/1383), 5.20 MiB | 9.96 MiB/s, done.
 +
Resolving deltas: 100% (759/759), done.
 +
</source>
 +
 
 +
Nachdem Sie das Theme zum Projekt hinzugefügt haben, müssen Sie dies in der <code>config.toml</code>-Datei hinterlegen und können dort auch einige andere Einstellungen vornehmen.
 +
Um das Theme zu aktivieren fügen Sie <code>theme = "terrassa"</code> am Ende der Datei ein. Andere Einstellungen, wie z.B. ''title'' können Sie hier auch ändern.
 +
 
 +
Die <code>config.toml</code>-Datei sollte später diesen Inhalt besitzen:
 +
<source>
 +
baseURL = "/"
 +
languageCode = "de-de"
 +
title = "Mein Hugo Projekt"
 +
theme = "terrassa"
 +
</source>
 +
 
 +
Nun erstellen wir noch eine Startseite für unser Projekt und testen ob das HUGO-Framework die Webseite erfolgreich erstellen kann.
 +
Offnen Sie in ihrem Terminal den Projektordner - z.B. /
 +
Um eine neue Startseite zu erstellen geben Sie <code>hugo new _index.md -k page</code> ein. Die Datei wird automatisch im Projektordner unter <code>/content/_index.md</code> erstellt.
 +
Öffnen Sie die Datei mit ihrem Texteditor - sie ist bis auf den ''Header'' leer.
 +
<source>
 +
---
 +
title: ""
 +
description: ""
 +
images: []
 +
draft: true
 +
menu: main
 +
weight: 0
 +
---
 +
</source>
 +
 
 +
Sie können nun der Seite einen Titel und eine Beschreibung geben, ändern Sie ''draft'' auf ''false'' und ''weight'' auf ''1''. Unterhalb der Trennstriche des ''Headers'' können Sie nun den Inhalt der Seite verfassen.
 +
Eine Besonderheit des HUGO-Frameworks ist, dass Sie den Inhalt auch in der Auszeichnungssprache Markdown verfassen können. Ein ausführliches Tutorial zu Markdown finden Sie auf der Seite [https://www.markdowntutorial.com/ https://www.markdowntutorial.com/].
 +
 
 +
Fügen Sie unterhalb des ''Headers'' einen Beispieltext ein - z.B.
 +
<source>
 +
---
 +
title: "Meine Hugo Webseite"
 +
description: "Tutorial"
 +
images: []
 +
draft: false
 +
menu: main
 +
weight: 1
 +
---
 +
 
 +
# Hello World!
 +
## Das ist meine erste HUGO-Webseite
 +
</source>
 +
 
 +
Speichern Sie die Änderung der Datei ab.
 +
 
 +
Nun können Sie testen, ob die Seite erfolgreich erstellt werden kann. Dazu bietet HUGO einen eigenen kleinen Webserver, der die Webseite lokal verfügbar macht.
 +
Öffnen Sie ein Terminal im Projektordner und geben Sie <code>hugo serve</code> ein. Sie sollten folgende Ausgabe erhalten:
 +
<source>
 +
➜ hugo serve
 +
Start building sites …
 +
hugo v0.84.0+extended darwin/amd64 BuildDate=unknown
 +
 
 +
                  | EN
 +
-------------------+-----
 +
  Pages            |  1
 +
  Paginator pages  |  0
 +
  Non-page files  |  0
 +
  Static files    |  3
 +
  Processed images |  0
 +
  Aliases          |  0
 +
  Sitemaps        |  1
 +
  Cleaned          |  0
 +
 
 +
Built in 5 ms
 +
Watching for changes in /Users/****/hugo-tut/tutorial/{archetypes,content,data,layouts,static,themes}
 +
Watching for config changes in /Users/****/hugo-tut/tutorial/config.toml
 +
Environment: "development"
 +
Serving pages from memory
 +
Running in Fast Render Mode. For full rebuilds on change: hugo server --disableFastRender
 +
Web Server is available at //localhost:1313/ (bind address 127.0.0.1)
 +
Press Ctrl+C to stop
 +
</source>
 +
 
 +
Sie können die Webseite nun über ihren Browser aufrufen, dazu geben Sie <code>http://localhost:1313</code> in die Adresszeile des Browsers ein.
 +
Sie sollten nun die Webseite angezeigt bekommen:
 +
 
 +
[[Datei:Screenshot_GitLab_CI_CD_Project_Demo.png |mini|500px|none| Demo Webseite]]
 +
 
 +
Beenden Sie den Server im Terminal wieder mit STRG/control + C.
 +
 
 +
Anschließen prüfen Sie, ob HUGO die Seite erstellen kann. Dazu müssen Sie nur den Befehl <code>hugo</code> in das Terminal eingeben. Hugo erstellt nun die Webseite und legt Sie im Verzeichnis <code>public/</code> ab.
 +
Bei erfolgreicher Erstellung sollten Sie folgenden Ausgabe erhalten:
 +
<source>
 +
➜ hugo
 +
Start building sites …
 +
hugo v0.84.0+extended darwin/amd64 BuildDate=unknown
 +
 
 +
                  | EN
 +
-------------------+-----
 +
  Pages            |  7
 +
  Paginator pages  |  0
 +
  Non-page files  |  0
 +
  Static files    |  3
 +
  Processed images |  0
 +
  Aliases          |  2
 +
  Sitemaps        |  1
 +
  Cleaned          |  0
 +
 
 +
Total in 21 ms
 +
</source>
 +
 
 +
Nun müssen wir die Änderungen noch in der Versionsverwaltung Git hinterlegen. Dies machen Sie mit den Befehlen <code>git add *</code> um alle Dateien zu erfassen und <code>git commit -m "inital commit"</code> um die Änderungen festzuschreiben.
 +
Anschließend können Sie alle Änderungen in das zuvor erstellte GitLab Projekt hochladen, dies wird im Git Context auch als ''pushen'' bezeichnet.
 +
 
 +
Mit dem Befehl <code>git push</code> werden die Änderungen hochgeladen.
 +
Das HUGO-Projekt ist somit fertig erstellt. In den nächsten Schritten erfahren Sie, wie sie einen Server erstellen und einrichten um vollautomatisch aus dem GitLab Projekt eine Webseite zu erstellen und diese im Internet verfügbar machen.
 +
 
 +
 
 +
== Cloudcomputing Instanz erstellen und einrichten ==
 +
=== Instanz erstellen ===
 +
Für die Erstellung und das Hosting der Webseite können Sie eine Instanz des Cloudcomputing Dienstes der Universität benutzen. Im IMT HilfeWiki erfahren Sie mehr zum Thema [https://hilfe.uni-paderborn.de/Cloudcomputing Cloudcomputing].
 +
An dieser Stelle werden wir nur eine kurze Anleitung zur Erstellung einer Instanz geben - eine ausführlichere Anleitung finden Sie im [https://hilfe.uni-paderborn.de/Cloudcomputing_Quick-Start QuickStartGuide].
 +
 
 +
'''Vorraussetzung ist ein vorhandnes Schlüsselpaar!''' Falls Sie noch kein Schlüsselpaar angelegt haben, finden Sie [https://hilfe.uni-paderborn.de/Cloudcomputing_Quick-Start#Schl.C3.BCsselpaare hier] eine Anleitung, wie Sie ein Schlüsselpaar erstellen.
 +
 
 +
1. Erstellen Sie einen Datenträger unter Datenträger/Datenträger mit den folgenden Einstellungen:
 +
 
 +
[[Datei:Screenshot_OpenStack_Datentraeger_HUGO.png |mini|300px|none| Datenträger erstellen]]
 +
 
 +
2. Legen Sie unter Netzwerk/Sicherheitsgruppen eine neue Sicherheitsgruppe an mit dem Namen HUGO-GitLab-Ci an. Erstellen Sie eine neue Sicherheitsregel für den Port des SSH-Dienstes - hier bietet OpenStack bereits eine Standardregel.
 +
 
 +
Erstellen Sie eine weitere Sicherheitsregel für den HTTP-Port, auch hier bietet OpenStack eine Standardregel. Soll der Dienst auch über IPv6 erreichbar sein, erstellen Sie eine weitere Regel mit den selben Parameter - ausser CIDR, dort geben Sie ::/0 an.
 +
 
 +
3. Erstellen Sie eine neue Instanz unter Compute/Instanzen über den Button Instanz starten. Vergeben Sie den Namen Ubuntu-20.04-HUGO. Als Quelle wählen Sie den zuvor erstellen Datenträger aus. Die Wahl der Variante hängt von Ihren Anforderungen ab - für dieses Tutorial wählen wir medium aus. Falls Sie bereits ein Netzwerk angelegt haben, können Sie die Instanz diesem zuordnen. Unter Sicherheitsgruppen ordnen Sie die zuvor erstellte Sicherheitsgruppe der Instanz zu. Ihr Schlüsselpaar sollte automatisch zur Instanz hinzugefügt worden sein. Klicken Sie anschließend auf Instanz starten.
 +
 
 +
4. Im Kontextmenü der Instanz können Sie dieser eine Floating IP zuweisen, damit diese von Aussen erreichbar ist.
 +
 
 +
=== HUGO und NGINX installieren ===
 +
Verbinden Sie sich per SSH mit der zuvor erstellten Instanz, eine Anleitung dazu finden Sie [https://hilfe.uni-paderborn.de/Cloudcomputing_Quick-Start#Aufbau_einer_SSH_Verbindung_zu_einer_Instanz hier].
 +
 
 +
Installieren Sie zunächst alle verfügbaren Updates mit dem Befehl:
 +
<source>sudo apt update && sudo apt upgrade -y</source>
 +
 
 +
Anschließend installieren Sie das HUGO-Framework und den Webserver nginx mit dem Befehl:
 +
<source>sudo apt install hugo -y && sudo apt install nginx -y</source>
 +
 
 +
Um zu überprüfen, ob Hugo erfolgreich installiert wurde, können Sie <code>hugo version</code> eingeben. Sie sollten folgende Ausgabe erhalten:
 +
<source>
 +
$ hugo version
 +
Hugo Static Site Generator v0.68.3/extended linux/amd64 BuildDate: 2020-03-25T06:15:45Z
 +
</source>
 +
 
 +
Um die Installation des nginx-Webservers zu überprüfen, können sie im Browser die Floating IP der Instanz aufrufen.
 +
Dazu geben Sie <code>http://FloatinIP/</code> in ihren Browser ein und ersetzen FloatinIP durch die Floating IP ihrer Instanz.
 +
Sie sollten die Startseite des nginx-Webserver angezeigt bekommen.
 +
 
 +
[[Datei:Screenshot_GitLab_NGINX_default_page.png |mini|500px|none| NGINX Default Seite]]
 +
 
 +
=== GitLab Runner installieren und registrieren ===
 +
Damit wir über GitLab automatisiert die Seite erstellen und hosten können, müssen wir auf der im vorherigen Schritt erstellten virtuellen Maschine noch den GitLab-Runner installieren.
 +
Dazu geben Sie folgende Befehle nacheinander in das Terminal ein:
 +
<source>
 +
curl -L "https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh" | sudo bash
 +
sudo -E apt install gitlab-runner -y
 +
</source>
 +
 
 +
Um zu überprüfen, ob die Installation erfolgreich war können Sie <code>gitlab-runner --version</code> eingeben. Sie sollten folgende Ausgabe erhalten:
 +
<source>
 +
$ gitlab-runner --version
 +
Version:      14.0.1
 +
Git revision: c1edb478
 +
Git branch:  refs/pipelines/326100216
 +
GO version:  go1.13.8
 +
Built:        2021-06-23T16:35:23+0000
 +
OS/Arch:      linux/amd64
 +
</source>
 +
 
 +
Als nächsten Schritt fügen Sie den ''gitlab-runner'' Benutzer zu der Gruppe ''sudo'' hinzu, damit dieser Befehle mit erhöhten Rechten ausfürhen kann:
 +
<source>
 +
sudo usermod -a -G sudo gitlab-runner
 +
</source>
 +
 
 +
Anschließend deaktivieren Sie die Passwortabfrage für den Benutzer, damit später bei der GitLab CI/CD Pipeline keine Probleme auftreten.
 +
Dazu öffen Sie mit dem Befehl <code>sudo visudo</code> die ''sudoers''-Datei und tragen '''am Ende der Datei''' <code>gitlab-runner ALL=(ALL) NOPASSWD: ALL</code> ein.
 +
Speichern Sie die Datei mit STRG/control + O und schließen Sie den Texteditor mit STRG/control + X.
 +
 
 +
Nun können Sie den GitLab Runner in ihrem Projekt registrieren, dazu benötigen Sie die URL des GitLab Servers und einen Registrigungs-Token. Beides finden Sie auf GitLab in der linken Menüleiste unter ''Settings -> CI/CD'' unter dem Punkt ''Runners''.
 +
 
 +
[[Datei:Screenshot_GitLab_CI_CD_Runner_Settings.png |mini|500px|none| GitLab Runner Registrierung]]
 +
 
 +
Um den Registrierungsprozess zu starten, geben Sie <code>sudo gitlab-runner register</code> in ihr Terminal ein. Geben Sie die URL des Server, sowie den Token ein. Anschließend vergeben Sie einen Namen für den Runner, die Eingabe der Tags können Sie frei lassen.
 +
Als Executer wählen Sie '''Shell''' aus.
 +
 
 +
<source>
 +
$ sudo gitlab-runner register
 +
Runtime platform                                    arch=amd64 os=linux pid=4656 revision=c1edb478 version=14.0.1
 +
Running in system-mode.                           
 +
                                                 
 +
Enter the GitLab instance URL (for example, https://gitlab.com/):
 +
https://git.uni-paderborn.de/
 +
Enter the registration token:
 +
********************
 +
Enter a description for the runner:
 +
hugo-cd-runner
 +
Enter tags for the runner (comma-separated):
 +
 
 +
Registering runner... succeeded                    runner=56Loxmyq
 +
Enter an executor: docker, parallels, shell, docker+machine, docker-ssh+machine, custom, docker-ssh, ssh, virtualbox, kubernetes:
 +
shell
 +
Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!
 +
</source>
 +
 
 +
Anschließend starten Sie den GitLab Runner mit dem Befehl <code>sudo gitlab-runner start</code>
 +
 
 +
Der Runner sollte nach einigen Minuten unter ''Settings -> CI/CD'' unter dem Punkt ''Runners'' aufgeführt werden.
 +
 
 +
[[Datei:Screenshot_GitLab_Runner.png |mini|400px|none| GitLab Runner]]
 +
 
 +
== GitLab CI/CD Pipeline für ein HUGO Projekt erstellen ==
 +
Nachdem der GitLab Runner erfolgreich eingerichtet können Sie nun eine GitLab CI/CD Pipeline erstellen. Diese ist im Zuge dieses Tutorial bewusst einfach gehalten.
 +
Eine Einführung in Continuous Integration und Continuous Deployment bietet der [https://hilfe.uni-paderborn.de/GitLab#GitLab_CI.2FCD Artikel zu GitLab CI/CD IMT HilfeWiki]. Falls Sie mehr zu diesem Thema erfahren möchten, bietet das [https://docs.gitlab.com/ee/ci/ GitLab CI/CD Wiki] weiter Informationen und Anleitungen.
 +
 
 +
Öffnen Sie zunächst in GitLab ihr Projekt. Klicken Sie auf ''New File'' und wählen Sie <code>.gitlab-ci.yml</code> aus. Fügen Sie folgenden Code in die Datei ein:
 +
<source>
 +
variables:
 +
  GIT_SUBMODULE_STRATEGY: recursive
 +
 
 +
build:
 +
  script:
 +
    - cd tutorial
 +
    - hugo
 +
  artifacts:
 +
    paths:
 +
    - tutorial/public
  
== Schritt-für-Schritt Anleitung ==
+
deploy:
Jeder Arbeitschritt wird hier genau erklärt und ggf. mit Screenshots hinterlegt.
+
  script:
 +
    - sudo cp -r tutorial/public/* /var/www/html/
 +
  after_script:
 +
    - sudo systemctl restart nginx
 +
  only:
 +
    - master
 +
</source>
  
=== Dabei sollten ===
+
Unter ''variables'' legen wir zunächst fest, dass git auch alle Submodule beachten soll, dann legen wir die Stage ''build'' an. Hier wird per Script zunächst der Ordner des HUGO-Projekts geöffnet und mit dem Befehl <code>hugo</code> die statische Webseite gebaut.
Unterschritte
+
Anschließend wird das public-Verzeichnis des Projekts als ''Artifact'' festgelegt, dies ermöglicht es die Daten aus dem Verzeichnis auch aus der Weboberfläche von GitLab herunter zu laden.
  
=== in sinnvolle Abschnitte ===
+
In der Stage ''deploy'' kopieren wir zunächst den gesamten Inhalt des public-Ordners in das Verzeichnis <code>/var/www/html/</code>. Dies ist das Standardverzeichnis, auf welches der Webserver NGINX zugreift.
unterteilt werden
+
Anschließend wird der Webserver neu gestartet, damit er die neuen Daten lädt.
  
=== dazu nutzt man dann ===
+
Klicken Sie auf ''Commit changes'' um die Änderungen zu speichern. Die Pipeline wird automatisch gestartet. Diese können Sie in der linken Menüleiste unter ''CI/CD'' aufrufen und einsehen.
Überschriften dritter Ordnung
+
Wenn keine Fehler auftreten werden beide Stages mit einem grünen Haken gekennzeichnet. Sollten Fehler auftreten wird die Stage mit einem roten Kreuz gekennzeichnet, weitere Informationen zu dem Problem erhalten Sie in der Ausgab des jeweiligen Jobs.
  
=== Nebenbei ===
+
[[Datei:Screenshot_GitLab_CI_CD_Pipeline_HUGO.png |mini|200px|none| GitLab CI/CD Pipeline]]
* Hier nochmal der Hinweis auf den Menüpunkt "Mitmachen" links im Hauptmenü, hinter dem sich wertvolle Anleitungen und Hinweise verstecken.
 
* Erfahrene Redakteure finden unterhalb der "Kategorie:Utility templates" interessantes Handwerkszeug für fortgeschrittene Textmanipulationen.
 
  
== Siehe auch ==
+
Die Webseite sollte nun über die Floating IP oder die URL <code>rdi-cloud-xxx-xxx.uni-paderborn.de</code> (xxx-xxx stellt die letzten beiden Stellen ihrer Floating IP dar) der Instanz aufrufbar sein.
Weitere interessante Artikel zum gleichen Themenfeld verlinken
 

Aktuelle Version vom 2. Juli 2021, 12:50 Uhr

Anleitung
Allgemeine Informationen
Informationen
Betriebssystem Alle
Service GitLab
Interessant für Angestellte, Studierende und Gäste
HilfeWiki des IMT der Uni Paderborn
no displaytitle found: GitLab - CI/CD Kurzanleitung - statische Webseiten mit HUGO

In dieser Anleitung erfahren Sie, wie Sie mithilfe des HUGO-Frameworks statische Webseiten über GitLab CI/CD automatisch erstellen und auf einer Instanz des Cloudcomputing Dienstes bereitstellen.

Bei HUGO handelt es sich um einen freien, statischen Websidegenerator. Dieser erstellt aus HTML- und Markdown-Dateien statische Webseiten. Der Vorteil liegt hier darin, dass die Seite nicht bei jeden Aufruf neu erstellt werden muss, sondern nur wenn etwas geändert wurde. Dies ist Ressourcen schonend, effizient und einfach in der Handhabung. Weitere Informationen zu Hugo und einige Beispiel-Webseiten finden Sie auf der HUGO-Webseite.

Was ist zu tun?

  • Ein GitLab Projekt erstellen
  • Entwicklungsumgebung einrichten und HUGO installieren
  • Git installieren
  • Testprojekt erstellen
  • Eine Instanz im Cloudcomputing Dienst erstellen und einrichten
  • Den GitLab Runner einrichten
  • GitLab CI/CD Workflow erstellen und testen

Gitlab Projekt erstellen

Als ersten Schritt erstellen Sie zunächst ein neuen GitLab Projekt, vergeben Sie einen aussagekräftigen Namen. Wie Sie ein neues GitLab Projekt anlegen wird im IMT HilfeWiki zu GitLab erklärt.

Für diese Anleitung muss noch eine Einstellungen des Projektes geändert werden. Klicken Sie dazu in der linken Menüleiste auf Settings/General und klicken dort bei Visibility, project features, permissions den Expand Button. Aktivieren Sie den Punkt CI/CD, dieses Feature werden wir im Laufe der Anleitung benutzten. Klicken Sie zum Speichern der Einstellung auf Save changes.

GitLab CI/CD aktivieren

Entwicklungsumgebung einrichten und HUGO installieren

Ist das GitLab Projekt angelegt, ist der nächste Schritt sich eine Entwicklungsumgebung einzurichten. Dazu benötigen Sie auf ihrem Computer:

Wir empfehlen im Zuge dieser Anleitung den quelloffenen Texteditor Visual Studio Code zu verwenden, da er für alle Plattformen verfügbar ist, ein integriertes Terminal bietet, durch Plug-ins erweiterbar ist und eine Vielzahl an Programmiersprachen und Framework unterstützt. Eine Anleitung zu Installation finden Sie unter https://code.visualstudio.com/.

Nachdem der Texteditor erfolgreich installiert ist, benötigen Sie noch eine Installation des HUGO Framework auf ihrem Computer. Dadurch können Sie lokal eine Webseite erstellen und diese über einen integrierten Testserver testen. Der Getting-Started-Guide auf der HUGO Website bietet eine Anleitung zur installation des Frameworks auf ihrem jeweiligen Betriebssystem.

Sie können die Installation überprüfen, indem Sie in ihr Terminal hugo version eingeben. Wenn die Installation erfolgreich war, sollten Sie folgende Ausgabe erhalten:

$ hugo version
Hugo Static Site Generator v0.68.3/extended linux/amd64 BuildDate: 2020-03-25T06:15:45Z

Git installieren

Neben dem Texteditor und dem HUGO-Framework wird auch die Versionsverwaltung Git benötigt. Diese können Sie hier herunterladen - dort finden Sie auch eine Installationsanleitung für ihr Betriebssystem. Durch die Versionverwaltung können Sie das zuvor angelegte Projekt von GitLab auf ihren Computer "klonen", darin weiterarbeiten und alle Änderungen später wieder auf den GitLab Server "pushen" (hochladen).

Darüberhinaus können Sie auch Module zu ihrem Projekt hinzufügen, im Falle von HUGO sind dieses z.B. Themes für ihre Website. Mehr dazu erfahren Sie im weiteren Verlauf dieser Anleitung.

TIPP: Visual Studio Code bietet eine grafisch gestützte Versionkontrolle mit Git, diese erleichtert den Einstieg im Arbeiten mit Git. Weitere Informationen zu diesem Thema finden Sie im VSCode Wiki.

Nachdem Git installiert ist, können Sie das zuvor angelegte Projekt von GitLab klonen. Dazu klicken Sie auf der Übersichtsseite des Projekt auf GitLab rechts auf den Button Clone und kopieren sich die Zeile unter Clone with HTTPS.

Offnen Sie ein Terminalfenster auf ihrem Computer - unter Windows liefert Git das Git Bash Terminal mit, dies können Sie im Zuge dieser Anleitung benutzten.

Mit dem Befehl git clone können Sie ein Git Projekt klonen, fügen Sie die zuvor kopierte HTTPS-Adresse des Projektes an den Befehl an.

git clone $HTTPS-zu-meinem-GitLab-Projekt

Das Projekt wird jetzt auf ihren Computer geklont.

HUGO Projekt erstellen

Navigieren Sie in ihrem Terminal in den Ordner des Projektes, den Sie im vorherigen Schritt geklont haben - z.B. cd MeinHugoProjekt. Eine kleine Einführung in die Bash-Shell bekommen Sie im Ubuntu Wiki.

Dort können wir mit HUGO eine neue Webseite erstellen, dazu geben Sie folgenden Befehl ein:

hugo new site tutorial

Den Namen der Webseite (tutorial) können Sie frei wählen.

Das HUGO-Framework erstellt jetzt automatisch alle nötigen Elemente und Ordner für das Projektes und Sie sollten folgende Ausgabe bekommen:

➜ hugo new site tutorial
Congratulations! Your new Hugo site is created in /Users/till/hugo_test/tutorial.

Just a few more steps and you're ready to go:

1. Download a theme into the same-named folder.
   Choose a theme from https://themes.gohugo.io/ or
   create your own with the "hugo new theme <THEMENAME>" command.
2. Perhaps you want to add some content. You can add single files
   with "hugo new <SECTIONNAME>/<FILENAME>.<FORMAT>".
3. Start the built-in live server via "hugo server".

Visit https://gohugo.io/ for quickstart guide and full documentation.

Öffnen Sie in ihrem Terminal den Ordner des Hugo Projektes, dieser hat den automatisch den Namen des Projektes erhalten:

cd tutorial

Ein HUGO Projekt kann um Module erweitert werden, dies ist üblicherweise ein Theme, der das Aussehen der Webseite bestimmt. Diese Module werden über Git als Submodule hinzugefügt. Für dieses Tutorial fügen wir unserem Projekt das Terrassa Theme hinzu.

Dazu geben Sie im Ordner des Hugo Projektes diesen Befehl ein:

git submodule add https://github.com/danielkvist/hugo-terrassa-theme themes/terrassa

Sie sollten folgende Ausgabe erhalten:

➜ git submodule add https://github.com/danielkvist/hugo-terrassa-theme themes/terrassa
Cloning into '/tutorial/themes/terrassa'...
remote: Enumerating objects: 1383, done.
remote: Total 1383 (delta 0), reused 0 (delta 0), pack-reused 1383
Receiving objects: 100% (1383/1383), 5.20 MiB | 9.96 MiB/s, done.
Resolving deltas: 100% (759/759), done.

Nachdem Sie das Theme zum Projekt hinzugefügt haben, müssen Sie dies in der config.toml-Datei hinterlegen und können dort auch einige andere Einstellungen vornehmen. Um das Theme zu aktivieren fügen Sie theme = "terrassa" am Ende der Datei ein. Andere Einstellungen, wie z.B. title können Sie hier auch ändern.

Die config.toml-Datei sollte später diesen Inhalt besitzen:

baseURL = "/"
languageCode = "de-de"
title = "Mein Hugo Projekt"
theme = "terrassa"

Nun erstellen wir noch eine Startseite für unser Projekt und testen ob das HUGO-Framework die Webseite erfolgreich erstellen kann. Offnen Sie in ihrem Terminal den Projektordner - z.B. / Um eine neue Startseite zu erstellen geben Sie hugo new _index.md -k page ein. Die Datei wird automatisch im Projektordner unter /content/_index.md erstellt. Öffnen Sie die Datei mit ihrem Texteditor - sie ist bis auf den Header leer.

---
title: ""
description: ""
images: []
draft: true
menu: main
weight: 0
---

Sie können nun der Seite einen Titel und eine Beschreibung geben, ändern Sie draft auf false und weight auf 1. Unterhalb der Trennstriche des Headers können Sie nun den Inhalt der Seite verfassen. Eine Besonderheit des HUGO-Frameworks ist, dass Sie den Inhalt auch in der Auszeichnungssprache Markdown verfassen können. Ein ausführliches Tutorial zu Markdown finden Sie auf der Seite https://www.markdowntutorial.com/.

Fügen Sie unterhalb des Headers einen Beispieltext ein - z.B.

---
title: "Meine Hugo Webseite"
description: "Tutorial"
images: []
draft: false
menu: main
weight: 1
---

# Hello World!
## Das ist meine erste HUGO-Webseite

Speichern Sie die Änderung der Datei ab.

Nun können Sie testen, ob die Seite erfolgreich erstellt werden kann. Dazu bietet HUGO einen eigenen kleinen Webserver, der die Webseite lokal verfügbar macht. Öffnen Sie ein Terminal im Projektordner und geben Sie hugo serve ein. Sie sollten folgende Ausgabe erhalten:

➜ hugo serve
Start building sites …
hugo v0.84.0+extended darwin/amd64 BuildDate=unknown

                   | EN
-------------------+-----
  Pages            |  1
  Paginator pages  |  0
  Non-page files   |  0
  Static files     |  3
  Processed images |  0
  Aliases          |  0
  Sitemaps         |  1
  Cleaned          |  0

Built in 5 ms
Watching for changes in /Users/****/hugo-tut/tutorial/{archetypes,content,data,layouts,static,themes}
Watching for config changes in /Users/****/hugo-tut/tutorial/config.toml
Environment: "development"
Serving pages from memory
Running in Fast Render Mode. For full rebuilds on change: hugo server --disableFastRender
Web Server is available at //localhost:1313/ (bind address 127.0.0.1)
Press Ctrl+C to stop

Sie können die Webseite nun über ihren Browser aufrufen, dazu geben Sie http://localhost:1313 in die Adresszeile des Browsers ein. Sie sollten nun die Webseite angezeigt bekommen:

Demo Webseite

Beenden Sie den Server im Terminal wieder mit STRG/control + C.

Anschließen prüfen Sie, ob HUGO die Seite erstellen kann. Dazu müssen Sie nur den Befehl hugo in das Terminal eingeben. Hugo erstellt nun die Webseite und legt Sie im Verzeichnis public/ ab. Bei erfolgreicher Erstellung sollten Sie folgenden Ausgabe erhalten:

➜ hugo
Start building sites …
hugo v0.84.0+extended darwin/amd64 BuildDate=unknown

                   | EN
-------------------+-----
  Pages            |  7
  Paginator pages  |  0
  Non-page files   |  0
  Static files     |  3
  Processed images |  0
  Aliases          |  2
  Sitemaps         |  1
  Cleaned          |  0

Total in 21 ms

Nun müssen wir die Änderungen noch in der Versionsverwaltung Git hinterlegen. Dies machen Sie mit den Befehlen git add * um alle Dateien zu erfassen und git commit -m "inital commit" um die Änderungen festzuschreiben. Anschließend können Sie alle Änderungen in das zuvor erstellte GitLab Projekt hochladen, dies wird im Git Context auch als pushen bezeichnet.

Mit dem Befehl git push werden die Änderungen hochgeladen. Das HUGO-Projekt ist somit fertig erstellt. In den nächsten Schritten erfahren Sie, wie sie einen Server erstellen und einrichten um vollautomatisch aus dem GitLab Projekt eine Webseite zu erstellen und diese im Internet verfügbar machen.


Cloudcomputing Instanz erstellen und einrichten

Instanz erstellen

Für die Erstellung und das Hosting der Webseite können Sie eine Instanz des Cloudcomputing Dienstes der Universität benutzen. Im IMT HilfeWiki erfahren Sie mehr zum Thema Cloudcomputing. An dieser Stelle werden wir nur eine kurze Anleitung zur Erstellung einer Instanz geben - eine ausführlichere Anleitung finden Sie im QuickStartGuide.

Vorraussetzung ist ein vorhandnes Schlüsselpaar! Falls Sie noch kein Schlüsselpaar angelegt haben, finden Sie hier eine Anleitung, wie Sie ein Schlüsselpaar erstellen.

1. Erstellen Sie einen Datenträger unter Datenträger/Datenträger mit den folgenden Einstellungen:

Datenträger erstellen

2. Legen Sie unter Netzwerk/Sicherheitsgruppen eine neue Sicherheitsgruppe an mit dem Namen HUGO-GitLab-Ci an. Erstellen Sie eine neue Sicherheitsregel für den Port des SSH-Dienstes - hier bietet OpenStack bereits eine Standardregel.

Erstellen Sie eine weitere Sicherheitsregel für den HTTP-Port, auch hier bietet OpenStack eine Standardregel. Soll der Dienst auch über IPv6 erreichbar sein, erstellen Sie eine weitere Regel mit den selben Parameter - ausser CIDR, dort geben Sie ::/0 an.

3. Erstellen Sie eine neue Instanz unter Compute/Instanzen über den Button Instanz starten. Vergeben Sie den Namen Ubuntu-20.04-HUGO. Als Quelle wählen Sie den zuvor erstellen Datenträger aus. Die Wahl der Variante hängt von Ihren Anforderungen ab - für dieses Tutorial wählen wir medium aus. Falls Sie bereits ein Netzwerk angelegt haben, können Sie die Instanz diesem zuordnen. Unter Sicherheitsgruppen ordnen Sie die zuvor erstellte Sicherheitsgruppe der Instanz zu. Ihr Schlüsselpaar sollte automatisch zur Instanz hinzugefügt worden sein. Klicken Sie anschließend auf Instanz starten.

4. Im Kontextmenü der Instanz können Sie dieser eine Floating IP zuweisen, damit diese von Aussen erreichbar ist.

HUGO und NGINX installieren

Verbinden Sie sich per SSH mit der zuvor erstellten Instanz, eine Anleitung dazu finden Sie hier.

Installieren Sie zunächst alle verfügbaren Updates mit dem Befehl:

sudo apt update && sudo apt upgrade -y

Anschließend installieren Sie das HUGO-Framework und den Webserver nginx mit dem Befehl:

sudo apt install hugo -y && sudo apt install nginx -y

Um zu überprüfen, ob Hugo erfolgreich installiert wurde, können Sie hugo version eingeben. Sie sollten folgende Ausgabe erhalten:

$ hugo version
Hugo Static Site Generator v0.68.3/extended linux/amd64 BuildDate: 2020-03-25T06:15:45Z

Um die Installation des nginx-Webservers zu überprüfen, können sie im Browser die Floating IP der Instanz aufrufen. Dazu geben Sie http://FloatinIP/ in ihren Browser ein und ersetzen FloatinIP durch die Floating IP ihrer Instanz. Sie sollten die Startseite des nginx-Webserver angezeigt bekommen.

NGINX Default Seite

GitLab Runner installieren und registrieren

Damit wir über GitLab automatisiert die Seite erstellen und hosten können, müssen wir auf der im vorherigen Schritt erstellten virtuellen Maschine noch den GitLab-Runner installieren. Dazu geben Sie folgende Befehle nacheinander in das Terminal ein:

curl -L "https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh" | sudo bash
sudo -E apt install gitlab-runner -y

Um zu überprüfen, ob die Installation erfolgreich war können Sie gitlab-runner --version eingeben. Sie sollten folgende Ausgabe erhalten:

$ gitlab-runner --version
Version:      14.0.1
Git revision: c1edb478
Git branch:   refs/pipelines/326100216
GO version:   go1.13.8
Built:        2021-06-23T16:35:23+0000
OS/Arch:      linux/amd64

Als nächsten Schritt fügen Sie den gitlab-runner Benutzer zu der Gruppe sudo hinzu, damit dieser Befehle mit erhöhten Rechten ausfürhen kann:

sudo usermod -a -G sudo gitlab-runner

Anschließend deaktivieren Sie die Passwortabfrage für den Benutzer, damit später bei der GitLab CI/CD Pipeline keine Probleme auftreten. Dazu öffen Sie mit dem Befehl sudo visudo die sudoers-Datei und tragen am Ende der Datei gitlab-runner ALL=(ALL) NOPASSWD: ALL ein. Speichern Sie die Datei mit STRG/control + O und schließen Sie den Texteditor mit STRG/control + X.

Nun können Sie den GitLab Runner in ihrem Projekt registrieren, dazu benötigen Sie die URL des GitLab Servers und einen Registrigungs-Token. Beides finden Sie auf GitLab in der linken Menüleiste unter Settings -> CI/CD unter dem Punkt Runners.

GitLab Runner Registrierung

Um den Registrierungsprozess zu starten, geben Sie sudo gitlab-runner register in ihr Terminal ein. Geben Sie die URL des Server, sowie den Token ein. Anschließend vergeben Sie einen Namen für den Runner, die Eingabe der Tags können Sie frei lassen. Als Executer wählen Sie Shell aus.

$ sudo gitlab-runner register
Runtime platform                                    arch=amd64 os=linux pid=4656 revision=c1edb478 version=14.0.1
Running in system-mode.                            
                                                   
Enter the GitLab instance URL (for example, https://gitlab.com/):
https://git.uni-paderborn.de/
Enter the registration token:
********************
Enter a description for the runner:
hugo-cd-runner
Enter tags for the runner (comma-separated):

Registering runner... succeeded                     runner=56Loxmyq
Enter an executor: docker, parallels, shell, docker+machine, docker-ssh+machine, custom, docker-ssh, ssh, virtualbox, kubernetes:
shell
Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!

Anschließend starten Sie den GitLab Runner mit dem Befehl sudo gitlab-runner start

Der Runner sollte nach einigen Minuten unter Settings -> CI/CD unter dem Punkt Runners aufgeführt werden.

GitLab Runner

GitLab CI/CD Pipeline für ein HUGO Projekt erstellen

Nachdem der GitLab Runner erfolgreich eingerichtet können Sie nun eine GitLab CI/CD Pipeline erstellen. Diese ist im Zuge dieses Tutorial bewusst einfach gehalten. Eine Einführung in Continuous Integration und Continuous Deployment bietet der Artikel zu GitLab CI/CD IMT HilfeWiki. Falls Sie mehr zu diesem Thema erfahren möchten, bietet das GitLab CI/CD Wiki weiter Informationen und Anleitungen.

Öffnen Sie zunächst in GitLab ihr Projekt. Klicken Sie auf New File und wählen Sie .gitlab-ci.yml aus. Fügen Sie folgenden Code in die Datei ein:

variables:
  GIT_SUBMODULE_STRATEGY: recursive

build:
  script:
    - cd tutorial
    - hugo
  artifacts:
    paths:
    - tutorial/public

deploy:
  script:
    - sudo cp -r tutorial/public/* /var/www/html/
  after_script:
    - sudo systemctl restart nginx
  only:
    - master

Unter variables legen wir zunächst fest, dass git auch alle Submodule beachten soll, dann legen wir die Stage build an. Hier wird per Script zunächst der Ordner des HUGO-Projekts geöffnet und mit dem Befehl hugo die statische Webseite gebaut. Anschließend wird das public-Verzeichnis des Projekts als Artifact festgelegt, dies ermöglicht es die Daten aus dem Verzeichnis auch aus der Weboberfläche von GitLab herunter zu laden.

In der Stage deploy kopieren wir zunächst den gesamten Inhalt des public-Ordners in das Verzeichnis /var/www/html/. Dies ist das Standardverzeichnis, auf welches der Webserver NGINX zugreift. Anschließend wird der Webserver neu gestartet, damit er die neuen Daten lädt.

Klicken Sie auf Commit changes um die Änderungen zu speichern. Die Pipeline wird automatisch gestartet. Diese können Sie in der linken Menüleiste unter CI/CD aufrufen und einsehen. Wenn keine Fehler auftreten werden beide Stages mit einem grünen Haken gekennzeichnet. Sollten Fehler auftreten wird die Stage mit einem roten Kreuz gekennzeichnet, weitere Informationen zu dem Problem erhalten Sie in der Ausgab des jeweiligen Jobs.

GitLab CI/CD Pipeline

Die Webseite sollte nun über die Floating IP oder die URL rdi-cloud-xxx-xxx.uni-paderborn.de (xxx-xxx stellt die letzten beiden Stellen ihrer Floating IP dar) der Instanz aufrufbar sein.


Bei Fragen oder Problemen wenden Sie sich bitte telefonisch oder per E-Mail an uns:

Tel. IT: +49 (5251) 60-5544 Tel. Medien: +49 (5251) 60-2821 E-Mail: imt@uni-paderborn.de

Der Servicepoint ist aktuell im Notebook-Café zu finden

Das IMT:Notebook-Café (Raum I0.401) bietet derzeit eingeschränkten Support und hat Montags bis Donnerstags von 08:30 - 16:00 Uhr und Freitags 08:30 - 15:00 Uhr geöffnet. Bitte beachten Sie die derzeit geltenden Hygienebestimmungen.

Das IMT:Servicecenter Medien auf H1 hat aktuell Montags bis Donnerstags von 8:00 - 16:00 Uhr und Freitags von 8:00 - 14:00 Uhr geöffnet.