Erstellen Sie leistungsstarke CI/CD-Pipelines und Automatisierungs-Workflows mit GitHub Actions...
Trainingsübersicht
Dieses umfassende 1-Tages-Training vermittelt fundiertes Wissen und praktische Erfahrung mit GitHub Actions, GitHubs leistungsstarker Automatisierungsplattform. Der Kurs richtet sich an Entwickler, DevOps-Engineers und Automatisierungsspezialisten und deckt alles ab - von der grundlegenden Workflow-Erstellung bis hin zum unternehmensweiten Action-Management und Sicherheits-Best-Practices.
Zielgruppe
- Softwareentwickler
- DevOps Engineers
- Platform Engineers
- Site Reliability Engineers (SRE)
- Build- und Release-Engineers
- Automatisierungsspezialisten
- Technical Leads mit Verantwortung für CI/CD
Voraussetzungen
- Gutes Verständnis von Git und GitHub
- Grundkenntnisse der YAML-Syntax
- Vertrautheit mit CI/CD-Konzepten
- Erfahrung mit Software-Entwicklungs-Workflows
- Grundlegendes Verständnis von Containerisierung (von Vorteil)
Trainingsziele
Am Ende dieses Trainings werden Sie in der Lage sein:
- Anspruchsvolle GitHub Actions Workflows zu erstellen und zu verwalten
- Bestehende Workflows zu nutzen, zu troubleshooten und zu optimieren
- Eigene Actions zu erstellen und zu pflegen (JavaScript, Docker und Composite)
- GitHub Actions auf Unternehmensebene zu verwalten
- Sicherheits-Best-Practices zu implementieren und Workflow-Performance zu optimieren
- Effiziente CI/CD-Pipelines mit GitHub Actions zu gestalten
Trainingsinhalte
1. Workflows erstellen und verwalten (20-25%)
Workflow-Trigger und Events konfigurieren
- Konfiguration von Workflows für zeitgesteuerte, manuelle, Webhook- und Repository-Events
- Auswahl geeigneter Scopes, Berechtigungen und Events für Automatisierung
- Definition und Validierung von workflow_dispatch-Inputs (Typen, required, defaults)
- Übergabe von Inputs an wiederverwendbare Workflows via workflow_call
- Mapping von Inputs und Secrets zwischen Workflows
Workflow-Struktur gestalten und implementieren
- Effektive Verwendung von Jobs, Steps und bedingter Logik
- Implementierung von Abhängigkeiten zwischen Jobs
- Arbeit mit Workflow-Befehlen und Umgebungsvariablen
- Konfiguration von Service-Containern für abhängige Dienste (Datenbanken, Queues)
- Einrichtung von Ports, Health-Checks und Container-Optionen
Fortgeschrittene Workflow-Patterns
- Verwendung von Strategy und Matrix für Job-Variationen (OS, Sprachversionen)
- Anwendung von Include/Exclude-Patterns in Matrizen
- Steuerung von fail-fast und max-parallel-Einstellungen
- Optimierung der Matrix-Größe für Kosten und Performance
- Berücksichtigung von Runner-Image-Änderungen (Ubuntu-, Windows-Migrationen)
YAML Best Practices
- Implementierung von YAML-Anchors und Aliases für Code-Wiederverwendung
- Verwendung vordefinierter Kontexte (github, runner, env, vars, secrets, inputs, matrix, needs)
- Auswertung von Ausdrücken mit ${{ }}
- Verständnis von statischer vs. Runtime-Auswertung
- Verhinderung von Secret-Leaks in Logs und Ausdrücken
Editor und Tooling
- Nutzung der GitHub Actions VS Code Extension
- Verwendung von YAML-Schema-Completion und -Validierung
- Implementierung von Metadata-IntelliSense
- Effiziente Workflow-Wartung mit Editor-Features
Workflow-Ausführung und Outputs verwalten
- Konfiguration von Caching und Artifact-Management
- Anwendung von Retention-Policies via REST-APIs
- Datenaustausch zwischen Jobs und Steps
- Verwendung von Artifacts, Outputs und Umgebungsdateien (GITHUB_ENV, GITHUB_OUTPUT)
- Generierung von Job-Summaries mit GITHUB_STEP_SUMMARY
- Erstellung umfangreicher Markdown-Reports (Testergebnisse, Coverage, Links)
- Hinzufügen von Workflow-Status-Badges und Environment-Protections
2. Workflows nutzen und troubleshooten (15-20%)
Workflow-Verhalten und Ergebnisse interpretieren
- Identifikation von Workflow-Triggern und Effekten aus der Konfiguration
- Diagnose fehlgeschlagener Workflow-Runs anhand von Logs und Run-History
- Expansion und Interpretation von YAML-Anchors und Aliases
- Interpretation von Matrix-Expansions und Korrelation von Job-Namen zu Matrix-Achsen
- Analyse von Fehlern über Varianten hinweg
- Selektives Wiederholen einzelner Matrix-Jobs
Zugriff auf Workflow-Artifacts und Logs
- Auffinden von Workflows, Logs und Artifacts in der UI
- Verwendung der GitHub API für Workflow-Datenzugriff
- Download und Verwaltung von Workflow-Artifacts
- Implementierung von Artifact-Retention-Strategien
Workflow-Templates verwenden und verwalten
- Nutzung von Organisations-Level und wiederverwendbaren Workflows
- Arbeit mit nicht-öffentlichen Organisations-Workflow-Templates
- Verwendung von Starter-Workflows (öffentliche und private Templates)
- Anpassung und Adaption von Workflow-Templates
- Unterscheidung von Starter-Workflows, wiederverwendbaren Workflows und Composite Actions
Workflow-Typen verstehen
- Differenzierung von Starter-Workflows (Copy-Scaffold)
- Verständnis wiederverwendbarer Workflows (zentrale versionierte Definition)
- Arbeit mit Composite Actions (gekapselte Step-Logik)
- Unterschied zwischen Deaktivieren und Löschen von Workflows
3. Actions erstellen und pflegen (15-20%)
Eigene Actions erstellen und troubleshooten
- Identifikation und Implementierung von Action-Typen (JavaScript, Docker, Composite)
- Verständnis des Immutable-Actions-Rollouts auf gehosteten Runnern
- Implementierung von Version-Pinning und Registry-Sources
- Troubleshooting von Action-Ausführung und Fehlern
- Debugging von Action-Failures
Action-Struktur und Metadata definieren
- Spezifikation erforderlicher Dateien und Verzeichnisstruktur
- Erstellung von action.yml-Metadaten-Dateien
- Implementierung von Workflow-Befehlen innerhalb von Actions
- Definition von Inputs, Outputs und Umgebungsvariablen
- Verwendung von Branding und Beschreibungen
Actions verteilen und pflegen
- Auswahl von Verteilungsmodellen (öffentlich, privat, Marketplace)
- Veröffentlichung von Actions im GitHub Marketplace
- Anwendung von Versionierungs- und Release-Strategien
- Implementierung von Semantic Versioning für Actions
- Verwaltung von Action-Dependencies
- Effektive Dokumentation von Actions
4. GitHub Actions für das Unternehmen verwalten (20-25%)
Actions und Workflows verteilen und steuern
- Definition und Verwaltung wiederverwendbarer Komponenten und Templates
- Kontrolle des Zugriffs auf Actions und Workflows innerhalb des Unternehmens
- Konfiguration organisatorischer Nutzungsrichtlinien
- Implementierung unternehmensweiter Workflow-Standards
- Verwaltung von Workflow-Template-Repositories
Runner im großen Maßstab verwalten
- Konfiguration und Überwachung von GitHub-gehosteten Runnern
- Bereitstellung und Verwaltung selbst gehosteter Runner
- Anwendung von IP-Zulassungslisten und Netzwerkeinstellungen
- Verwaltung von Runner-Gruppen für Organisationsstruktur
- Troubleshooting von Runner-Problemen im großen Maßstab
Runner-Software-Management
- Identifikation vorinstallierter Software/Tool-Versionen auf GitHub-gehosteten Runnern
- Verwendung von Image-Release-Notes und Toolcache
- Installation zusätzlicher Software zur Laufzeit
- Verwendung von setup-*-Actions und Paketmanagern
- Implementierung von Caching-Strategien
- Arbeit mit Container-Images und eigenen selbst gehosteten Images
Verschlüsselte Secrets und Variablen verwalten
- Definition und Scoping verschlüsselter Secrets auf Organisationsebene
- Verwaltung von Secrets auf Repository-Ebene
- Implementierung von Environment-Level-Secrets und Variablen
- Zugriff und Verwendung von Secrets in Workflows und Actions
- Programmatische Verwaltung von Secrets via REST-APIs
- Secret-Rotation und Lifecycle-Management
5. Automatisierung sichern und optimieren (10-15%)
Sicherheits-Best-Practices implementieren
- Verwendung von Environment-Protections und Approval-Gates
- Identifikation und Verwendung vertrauenswürdiger Actions aus dem Marketplace
- Abwehr von Script-Injection-Angriffen
- Sanitization und Validierung von Inputs
- Implementierung von Least-Privilege-Berechtigungen
- Vermeidung nicht vertrauenswürdiger Daten in run:-Befehlen
- Korrekte Shell-Quoting-Techniken
Token- und Authentifizierungssicherheit
- Verständnis des GITHUB_TOKEN-Lifecycles (ephemeral, scoped)
- Konfiguration granularer Berechtigungen
- Unterschied zwischen GITHUB_TOKEN und Personal Access Tokens (PAT)
- Angemessene Einschränkung von Write-Scopes
- Verwendung von OIDC-Token (id-token-Permission) für Cloud-Provider-Federation
- Eliminierung langlebiger Cloud-Secrets
Action-Sicherheit und -Verifizierung
- Pinning von Drittanbieter-Actions auf vollständige Commit-SHAs
- Ausrichtung an Immutable-Actions-Enforcement
- Vermeidung von floating @main/@v* ohne Begründung
- Durchsetzung von Action-Nutzungsrichtlinien
- Implementierung von Allow/Deny-Listen für Actions
- Erforderliche Reviewer für unverifizierte Actions
Artifact-Attestations und Provenance
- Generierung von Artifact-Attestations
- Implementierung von SLSA-Provenance
- Hinzufügen von Build-Metadaten zu Artifacts
- Integration von Attestation in Deployment-Verifizierung
- Verifizierung der Supply-Chain-Sicherheit
Workflow-Performance und Kosten optimieren
- Konfiguration effektiver Caching-Strategien
- Optimierung der Artifact-Retention
- Programmatische Anwendung von Retention-Policies via REST-APIs
- Implementierung von Parallelisierung und Job-Dependencies
- Minimierung der Workflow-Ausführungszeit
- Reduzierung der GitHub Actions-Kosten
- Effiziente Skalierung von Workflows
Praktische Übungen
Im Verlauf dieses Trainings nehmen Sie an praktischen Übungen teil, darunter:
- Erstellung grundlegender und fortgeschrittener Workflows mit mehreren Triggern
- Implementierung von Matrix-Strategien für Multi-Plattform-Builds
- Entwicklung eigener JavaScript-Actions
- Erstellung von Docker-Container-Actions
- Entwicklung von Composite Actions für Code-Wiederverwendung
- Einrichtung selbst gehosteter Runner
- Implementierung von Workflow-Caching und Artifacts
- Konfiguration von Environment-Protections und Approval-Gates
- Integration mit Cloud-Providern mittels OIDC
- Implementierung sicheren Secret-Managements
- Optimierung von Workflow-Performance und Kosten
Trainingsmethodik
- Interaktive Präsentationen: Umfassende Abdeckung der GitHub Actions-Konzepte
- Live-Demonstrationen: Praxisnahe CI/CD-Pipeline-Beispiele
- Praktische Übungen: Hands-on-Übungen zum Aufbau von Automatisierungs-Skills
- Best Practices: Branchenstandard-Patterns und Anti-Patterns
- Troubleshooting-Sessions: Häufige Probleme und deren Lösungen
- Frage-und-Antwort-Sitzungen: Behandlung spezifischer Automatisierungsherausforderungen
Zertifizierungsvorbereitung
Dieses Training ist auf die GH-200: GitHub Actions Zertifizierungsprüfung ausgerichtet und deckt alle getesteten Bereiche ab:
- Workflows erstellen und verwalten (20-25%)
- Workflows nutzen und troubleshooten (15-20%)
- Actions erstellen und pflegen (15-20%)
- GitHub Actions für das Unternehmen verwalten (20-25%)
- Automatisierung sichern und optimieren (10-15%)
Was Sie erhalten
- Umfassende Trainingsmaterialien
- Zugang zur Hands-on-Lab-Umgebung
- Workflow-Templates und Action-Beispiele
- Best-Practices-Leitfaden
- Sicherheits-Checkliste
- Teilnahmezertifikat
- Post-Training-Support-Ressourcen
Praxisnahe Szenarien
- CI/CD-Pipelines: Build, Test und Deployment von Anwendungen
- Multi-Plattform-Builds: Unterstützung von Windows, Linux und macOS
- Container-Workflows: Erstellen und Veröffentlichen von Docker-Images
- Package-Publishing: Veröffentlichung auf npm, NuGet, Maven und GitHub Packages
- Cloud-Deployments: Deployment auf Azure, AWS und Google Cloud
- Security-Scanning: Integration von Code-Scanning und Dependency-Checks
- Release-Automatisierung: Automatisierung von Release-Prozessen und Versionierung
- Infrastructure as Code: Deployment von Infrastruktur mit Terraform und Bicep
Nachbereitung und nächste Schritte
Nach Abschluss dieses Trainings sind Sie bestens vorbereitet, um:
- Produktionsreife CI/CD-Pipelines mit GitHub Actions zu implementieren
- Wiederverwendbare Actions für Ihre Organisation zu erstellen
- GitHub Actions auf Unternehmensebene zu verwalten
- Sich auf die GH-200-Zertifizierungsprüfung vorzubereiten
- Automatisierungs-Workflows für Performance und Kosten zu optimieren
- Sicherheits-Best-Practices in der Automatisierung zu implementieren
Verwandte Trainings
Erwägen Sie diese ergänzenden Trainings:
- GitHub Administration - Verwaltung von GitHub Enterprise und Berechtigungen
- DevOps mit Azure und GitHub - Integration von GitHub mit Azure-Services
- Secure Software Development Lifecycle - Umfassende Sicherheitspraktiken
- Docker und Kubernetes - Container-Orchestrierung für Deployments