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-lintingin ihrem Workspace - Schauen Sie sich die Projektdateien an. Die wichtigsten Inhalte befinden sich in:
Makefile.gitlab-ci.ymlmodules/examples/manifests/init.pp
 - Führen Sie 
make validateaus, 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 behebenein. 
Lösung (Klicken Sie auf den Pfeil, falls sie nicht weiterkommen)
- Stellen Sie sicher, dass Sie im Projekt 
puppet-lintingsind. 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.mdder 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-lintingbefinden. - Führen Sie die kopierten Befehle aus
 - Bearbeiten Sie die 
README.md - Commiten Sie Ihre Änderungen mit:
git add README.mdgit 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-fixaus, 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.