
Bitte wählen Sie die Bereiche, die Sie exportieren möchten:

Schulung PowerShell für DevOps: Pester, CI/CD und Modul-Engineering
Vom Skript zum getesteten, versionierten und veröffentlichten Modul
Schulungsformen
Inhouse-/Firmenschulung
- 4 Tage - anpassbar
- Termin nach Wunsch
- In Ihrem Hause oder bei der GFU
- Preis nach Angebot
- Lernumgebung in der Cloud
- Inhalte werden auf Wunsch an die Anforderungen Ihres Teams angepasst.
Individualschulung
- 4 Tage - anpassbar
- Termin nach Wunsch
- In Ihrem Hause oder bei der GFU
- Preis nach Angebot
- Lernumgebung in der Cloud
- 1 Teilnehmender = Fokus aufs Fachliche und maximaler Raum für individuelle Fragen.
Beschreibung
Gearbeitet wird an einem durchgängigen Beispielmodul. Es entsteht zuerst als sauber strukturiertes Modul, bekommt dann Tests und Qualitätsprüfungen, wird versioniert, signiert und veröffentlicht und läuft am Ende durch eine vollständige Pipeline - vom Commit bis zur fertigen, installierbaren Version.
Schauen Sie sich auch diese Powershell Kurse an.
Schulungsziel
Jede teilnehmende Person verlässt das Seminar mit der Fähigkeit, aus PowerShell-Code professionelle, getestete Module zu bauen und verlässlich auszuliefern. Sie schreibt erweiterte Funktionen mit sauberen Schnittstellen, sichert sie mit Pester und PSScriptAnalyzer ab, versioniert und signiert sie, veröffentlicht sie über PSResourceGet in interne und öffentliche Repositories und betreibt eine vollständige CI/CD-Pipeline in GitHub Actions oder Azure DevOps mit klaren Qualitäts-Gates.
Details
Inhalt
- Ziele und Erwartungen der Teilnehmenden
- Klärung individueller Lernziele und Erwartungen für ein praxisnahes und relevantes Seminar
- Tag 1: 1. Vom Skript zum Modul
- Warum Module: Wiederverwendung, Verteilung und klare Schnittstellen
- Aufbau eines Moduls aus Wurzelmodul und Manifest
- Öffentliche und private Funktionen trennen
- Praxis-Übung: Ein gewachsenes Sammelskript in eine erste Modulstruktur mit öffentlichen und privaten Funktionen überführen.
- 2. Erweiterte Funktionen schreiben
- CmdletBinding und die Common Parameters
- Parameter deklarieren, Parametersätze bilden und Pflichtangaben festlegen
- Argumente prüfen mit Validierungsattributen
- Pipeline-Eingabe nach ByValue und ByPropertyName
- Aussagekräftige Rückgaben und sauberes Fehlerverhalten
- Praxis-Übung: Eine Funktion mit validierten Parametern und Pipeline-Eingabe bauen und die verschiedenen Aufrufwege durchtesten.
- 3. Modulstruktur, Manifest und Abhängigkeiten
- Ordnerstruktur und das Laden der Funktionen
- Manifest erstellen und Funktionen gezielt exportieren
- Abhängigkeiten über RequiredModules mit Mindestversion und ExternalModuleDependencies
- Genehmigte Verben und konsistente Benennung
- Praxis-Übung: Ein Manifest anlegen, den Funktionsexport festlegen und eine Modulabhängigkeit mit Mindestversion deklarieren.
- 4. Klassen, Hilfe und Wartbarkeit
- PowerShell-Klassen für eigene Typen
- Kommentarbasierte Hilfe und externe Hilfe mit platyPS
- Code übersichtlich organisieren und wartbar halten
- Praxis-Übung: Einer Funktion vollständige kommentarbasierte Hilfe geben und einen eigenen Typ als Klasse ergänzen.
- Tag 2: 5. Pester 5: Tests schreiben
- Aufbau mit Describe, Context und It
- Erwartungen prüfen mit Should
- Tests konfigurieren und ausführen über New-PesterConfiguration
- Praxis-Übung: Für eine vorhandene Funktion erste Pester-Tests mit Should-Erwartungen schreiben und ausführen.
- 6. Mocking, datengetriebene Tests und Coverage
- Abhängigkeiten ersetzen mit Mock
- Datengetriebene Tests über TestCases
- Code-Coverage messen und einordnen
- Testergebnisse als NUnit-XML ausgeben
- Praxis-Übung: Einen externen Aufruf mocken, einen Test über mehrere Datensätze laufen lassen und die Coverage ermitteln.
- 7. Testgetriebenes Entwickeln in der Praxis
- Der Zyklus aus fehlschlagendem Test, knappem Code und Aufräumen
- Randfälle und Fehlerpfade gezielt abdecken
- Tests als lebende Dokumentation
- Praxis-Übung: Eine neue Funktion testgetrieben entwickeln - erst der Test, dann die Umsetzung.
- 8. PSScriptAnalyzer und Coding-Standards
- Regeln und Schweregrade verstehen
- Eigene Regeln und Projektstandards festlegen
- PSScriptAnalyzer als Pester-Test kapseln
- Später als Qualitäts-Gate im Build nutzen
- Praxis-Übung: Das eigene Modul mit PSScriptAnalyzer prüfen, Verstöße beheben und die Prüfung als Pester-Test kapseln.
- Tag 3: 9. Build-Automatisierung
- Warum ein Build-Schritt auch ohne Kompilierung sinnvoll ist
- Build-Aufgaben mit InvokeBuild beschreiben
- Test, Prüfung und Paketbau in eine feste Reihenfolge bringen
- Praxis-Übung: Ein Build-Skript erstellen, das Tests und PSScriptAnalyzer ausführt und danach das Modul zusammenstellt.
- 10. Versionierung und Manifest-Pflege
- Semantische Versionierung und ihre Bedeutung
- Version und Angaben mit Update-ModuleManifest pflegen
- Ein nachvollziehbares Änderungsprotokoll führen
- Praxis-Übung: Die Modulversion regelbasiert erhöhen und den passenden Eintrag im Änderungsprotokoll ergänzen.
- 11. Veröffentlichung mit PSResourceGet
- PSResourceGet als Nachfolger von PowerShellGet
- Veröffentlichen mit Publish-PSResource in die PowerShell Gallery
- Interne Feeds: Azure DevOps Artifacts, ProGet oder eine FileShare-Quelle
- Authentifizierte Repositories und die Microsoft Artifact Registry
- Praxis-Übung: Das Modul in ein internes Repository veröffentlichen und aus einer frischen Sitzung wieder installieren.
- 12. Signierung und Lieferkette
- Module signieren mit Set-AuthenticodeSignature
- Ausführungsrichtlinie und der Schutz durch AllSigned
- Zertifikate verwalten, in gemischten Umgebungen über einen KeyVault-gesicherten Stamm
- Vertrauenswürdige Quellen und Abhängigkeiten absichern
- Praxis-Übung: Das Modul signieren und prüfen, dass es unter einer restriktiven Ausführungsrichtlinie läuft.
- Tag 4: 13. CI/CD mit GitHub Actions
- Einen Workflow für das Modul aufbauen
- Abhängigkeiten installieren und Tests sowie Linting als Gates ausführen
- Testergebnisse veröffentlichen und Module zwischenspeichern
- Plattformübergreifend über eine Matrix testen
- Praxis-Übung: Einen Workflow einrichten, der bei jedem Push Tests und PSScriptAnalyzer als Gate ausführt und die Ergebnisse veröffentlicht.
- 14. CI/CD mit Azure DevOps Pipelines
- Die Pipeline in Stages für Bauen, Testen und Veröffentlichen gliedern
- PowerShell-Aufgaben und die Veröffentlichung von Testergebnissen
- Module in einen Azure-Artifacts-Feed veröffentlichen
- Praxis-Übung: Eine Pipeline mit Test- und Build-Stage aufbauen und das Modul in einen Artifacts-Feed veröffentlichen.
- 15. Qualitäts-Gates, Release und Betrieb
- Gates festlegen: keine fehlschlagenden Tests, keine Verstöße, ausreichende Coverage
- Branch-Policies und Veröffentlichung nur aus dem Hauptzweig
- Release-Fluss, Rückrollen und Umgang mit Fehlversionen
- Praxis-Übung: Sinnvolle Qualitäts-Gates für das Projekt definieren und einen Veröffentlichungs-Fluss mit Rückfalloption einrichten.
- 16. Gesamtprojekt und Peer-Review
- Die Bausteine zu einer Ende-zu-Ende-Pipeline zusammenführen
- Vom Commit über Test und Build bis zur Veröffentlichung
- Wartbarkeit und nächste Ausbaustufen
- Praxis-Übung (Peer-Review): Die vollständige Modul-Pipeline einer anderen teilnehmenden Person gegen Teststrategie, Qualitäts-Gates, Versionierung, Signierung und Veröffentlichung prüfen und die Rückmeldungen einarbeiten.
Zielgruppe & Vorkenntnisse
- PowerShell-erfahrene Administratoren und Automatisierungs-Engineers
- DevOps- und Plattform-Verantwortliche, die PowerShell in Pipelines bringen
- Entwickelnde, die Skripte zu getesteten, wiederverwendbaren Modulen machen
- Teams, die einen verlässlichen Auslieferungsweg für PowerShell-Werkzeuge aufbauen
Ihre Schulung
In Präsenz | Online |
|---|---|
| Lernmethode | |
Ausgewogene Mischung aus Theorie und praktischen Übungen auf persönlichem Schulungs-PC. | Wie auch bei unseren Präsenz-Seminaren: Ausgewogene Mischung aus Theorie und praktischen Übungen. Trainer durchgehend präsent. |
| Unterlagen | |
Seminarunterlagen oder Fachbuch inklusive. Das Fachbuch wählt der Trainer passend zum Seminar aus - Ihren individuellen Buch-Wunsch berücksichtigen wir auf Nachfrage gerne. | Seminarunterlagen oder Fachbuch inklusive (via DHL). Das Fachbuch wählt der Trainer passend zum Seminar aus - Ihren individuellen Buch-Wunsch berücksichtigen wir auf Nachfrage gerne. |
| Arbeitsmaterialien | |
Din A4 Block, Notizblock, Kugelschreiber, USB-Stick, Textmarker, Post-its | |
| Teilnahmezertifikat | |
Nach Abschluss des Seminars erhalten Sie das Teilnahmezertifikat inkl. Inhaltsverzeichnis per E-Mail als PDF. | |
Organisation
In Präsenz | Online | |
|---|---|---|
| Teilnehmendenzahl | ||
min. 1, max. 8 Personen | ||
| Garantierte Durchführung * | ||
Ab 1 Teilnehmenden | ||
| Schulungszeiten | ||
| ||
| Ort der Schulung | ||
GFU SchulungszentrumAm Grauen Stein 27 51105 Köln-Deutz oder online im Virtual Classroom oder europaweit bei Ihnen als Inhouse-Schulung Um ein optimales Raumklima zu gewährleisten, haben wir das Schulungszentrum mit 17 hochmodernen Trotec TAC V+ Luftreinigern ausgestattet. Diese innovative Filtertechnologie (H14 zertifiziert nach DIN EN1822) sorgt dafür, dass die Raumluft mehrfach pro Stunde umgewälzt wird und Schadstoffe zu 99.995% im HEPA-Filter abgeschieden und infektiöse Aerosole abgetötet werden. Zusätzlich sind alle Räume mit CO2-Ampeln ausgestattet, um jederzeit eine hervorragende Luftqualität sicherzustellen. | ||
| Räumlichkeiten | ||
Helle und modern ausgestattete Räume mit perfekter Infrastruktur | Bequem aus dem Homeoffice von überall | |
| All-Inclusive | ||
Frühstück, Snacks und Getränke ganztägig, Mittagessen im eigenen Restaurant, täglich 6 Menüs, auch vegetarisch | Eine Auswahl unserer Frühstücks-Snacks und Nervennahrungs-Highlights senden wir Ihnen mit den Seminarunterlagen via DHL zu. | |
| Barrierefreiheit | ||
Das GFU-Schulungszentrum (Am Grauen Stein 27) ist barrierefrei | - | |
Kostenfreie Services
In Präsenz | Online |
|---|---|
|
|
Buchungsmöglichkeiten
Online oder in Präsenz teilnehmen
Sie können sowohl Online als auch in Präsenz am Seminar teilnehmen. Klicken Sie bei Ihrer Buchung oder Anfrage einfach die entsprechende Option an.
- Lernumgebung in der Cloud
- Inhalte werden auf Wunsch an die Anforderungen Ihres Teams angepasst.
- Lernumgebung in der Cloud
- 1 Teilnehmender = Fokus aufs Fachliche und maximaler Raum für individuelle Fragen.
Was bedeutet Offene Schulung und Inhouse Schulung?
Bei einer offenen Schulung stehen Ort und Termin vorab fest. Jeder Interessent kann eine offene Schulung buchen, daher treffen Teilnehmer aus verschiedenen Unternehmen aufeinander.
Inhouse Schulungen können auf Ihren individuellen Schulungsbedarf zugeschnitten werden. Sie bestimmen den Teilnehmerkreis, Termin und Schulungsort.
Ist eine Inhouse Schulung die richtige Wahl?
Bei einer Inhouse Schulung gehen wir auf die individuellen Bedürfnisse Ihres Unternehmens ein und decken den Schulungsbedarf direkt bei Ihnen im Unternehmen ab.
Das spart Zeit und Geld und sorgt für einen schnellen Wissenstransfer Ihrer Mitarbeiter.
Wer kümmert sich um die Technik bei Inhouse Schulungen?
Eine komplette Lernumgebung in der Cloud mit Remote Zugriff ist für uns selbstverständlich. Sie müssen sich um nichts kümmern. Lediglich ein funktionierender PC oder Notebook mit Internetanschluss sollte für jeden Teilnehmer am Schulungstag bereit stehen.
Vorteile einer Inhouse Schulung
- Kompetente Seminarberatung
- Dozenten aus der Praxis
- Auf Ihre Bedürfnisse zugeschnittener individueller Lernstoff
- Sie können den Termin flexibel gestalten, so wie es für Sie am besten passt
- Unsere Inhouse Schulungen können Europaweit durchgeführt werden
- Der Fokus liegt auf Ihrem Schulungsbedarf, somit schonen Sie Ihr Budget
- Wissenslücken Ihrer Mitarbeitet werden schnell geschlossen
GFU Schulungszentrum