Puppet Pipeline
Ziel
In diesem Projekt geht es darum lokal und in der Pipeline Puppetcode zu linten.
Hilfsmittel
- Versuchen Sie zuerst, die unten stehenden Aufgaben selbständig zu lösen.
- Sollten Sie dabei Probleme haben, finden Sie bei jeder Aufgabe einen ausklappbaren Block, in dem der Lösungsweg beschrieben wird.
Aufgabe 1 - Lokal linten
- Gehen Sie auf ihre VSCode Instanz:
code-{ZAHL}.labs.corewire.de
- Wechseln Sie in den Ordner
puppet-linting
in ihrem Workspace - Schauen Sie sich die Projektdateien an. Die wichtigsten Inhalte befinden sich in:
Makefile
.gitlab-ci.yml
modules/examples/manifests/init.pp
- Führen Sie
make validate
aus, um den Linter lokal laufen zu lassen - Schauen sie sich die auftretenden Fehler an.
Aufgabe 2 - Linten in der Pipeline
2.1 Issue anlegen
- Wechseln Sie zu Gitlab und erstellen Sie ein neues Issue im Repository
puppet-linting
. - Geben Sie als Titel des Issues
Linter Fehler beheben
ein.
Lösung (Klicken Sie auf den Pfeil, falls sie nicht weiterkommen)
- Stellen Sie sicher, dass Sie im Projekt
puppet-linting
sind. Oben links im Menü steht das aktuell geöffnete Projekt - Klicken Sie links im Menü auf Issues
- Auf dieser Seite können Sie rechts oben über "New Issue" ein Issue anlegen
- Geben Sie den Title ein
- Weitere Eingaben sind nicht erforderlich
- Erstellen Sie das Issue unten mit "Create Issue"
2.2 Merge Request anlegen
- Das eben erstellte Issue möchten Sie nun bearbeiten/lösen.
- Erstellen Sie aus dem Issue heraus einen Merge Request:
- Weisen Sie sich den Merge Request zu
- Erstellen Sie den Merge Request
Lösung (Klicken Sie auf den Pfeil, falls sie nicht weiterkommen)
- Mit dem Erstellen des Issues wurden Sie automatisch auf das Issue weitergeleitet
- Hier finden Sie den Button "Create Merge Request" mit einem Pfeil daneben.
- Klicken Sie auf den Pfeil
- Klicken Sie auf "Create Merge Request"
- Auf der Seite "New merge request", die sich geöffnet hat, können Sie sich unter "Assignee" den Merge Request zuweisen.
- Erstellen Sie anschließend den Merge Request
2.3 Source Code bearbeiten
- Wechseln Sie zurück in VSCode und checken Sie den zum Merge Request gehörenden Branch aus
- Machen Sie eine kleine Änderung an der
README.md
der Inhalt ist hier nicht wichtig - Erstellen Sie mit ihrer Änderung einen Commit
- Pushen Sie Ihre Änderungen
Lösung (Klicken Sie auf den Pfeil, falls sie nicht weiterkommen)
- Klicken Sie im Merge Request oben rechts auf den blauen Button Code
- Klicken Sie auf Check out Branch
- Kopieren Sie die Befehle unter Step 1
- Wechseln Sie in das Terminal in VSCode.
- Stellen Sie sicher, dass Sie sich im Ordner
puppet-linting
befinden. - Führen Sie die kopierten Befehle aus
- Bearbeiten Sie die
README.md
- Commiten Sie Ihre Änderungen mit:
git add README.md
git commit -m "Improve README"
- Pushen Sie die Änderungen:
git push
2.4 Pipeline-Logs ansehen
- Schauen Sie sich das Job-Log an
- Lassen Sie sich die Linter Fehler in der Weboberfläche ausgeben
Lösung (Klicken Sie auf den Pfeil, falls sie nicht weiterkommen)
- Gehen Sie im Merge Request auf den Tab Pipelines (direkt unter dem Titel)
- Hier sehen Sie die zu diesem Merge Request gehörenden Pipelines
- Schauen Sie sich den Job im Detail mit Klick auf den grünen Kreis unter Stages an.
- Hier sehen Sie die Logausgabe des Jobs sowie weitere Informationen.
Aufgabe 3 - Beheben der Linterfehler
- Führen sie im VSCode
make validate-fix
aus, um alle Linterfehler zu beheben, die automatisch behoben werden können. - Beheben Sie die übrigen Linterfehler.
- Pushen Sie ihre Änderungen auf den zum Merge Request gehörenden Branch
- Prüfen Sie ob die Pipeline nun feherfrei durchläuft.