GitHub
DevOps

GitHub Actions

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:

  1. Workflows erstellen und verwalten (20-25%)
  2. Workflows nutzen und troubleshooten (15-20%)
  3. Actions erstellen und pflegen (15-20%)
  4. GitHub Actions für das Unternehmen verwalten (20-25%)
  5. 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
An unhandled error has occurred. Reload 🗙