GitHub Actions

Automatisierung mittels GitHub-Repositories

Die manuelle Erstellung von Build-Artefakten und deren Bereitstellung ist häufig zeitaufwändig und fehleranfällig. Deren Automatisierung z. B. durch Continuous Integration bzw. Continuous Delivery führt zu einer höheren Softwarequalität und entlastet Entwickler. Mit GitHub Actions lassen sich viele Prozesse rund um ein Git-Repository – auch jenseits von Continuous Integration / Continuous Delivery – automatisieren. Die nahtlose Integration in GitHub als Versionsverwaltung für Softwareprojekte ist ein weiterer Vorteil. Die Workflows der GitHub Actions sind dabei flexibel, skalierbar und an Ihre Bedürfnisse individuell anpassbar.

Überblick

  • Abgrenzung zu Azure DevOps-Pipelines und TeamCity
  • Verknüpfung mit dem Git-Repository
  • Einführung in die Struktur von Workflows in YAML
  • Kernkonzepte und Workflow-Bestandteile
  • Einsatz von Variablen und Secrets mithilfe der Template-Engine
  • Integration in das GitHub-Webportal
  • Beschränkungen und Kosten

Events und Trigger

  • Repository-Events inklusive Filterung
  • Externes Starten von Workflows mit repository_dispatch
  • Manuelle Ausführung
  • Zeitsteuerung

Jobs und Steps

  • Nebenläufige und sequenzielle Ausführung von Aufgaben
  • Volle Flexibilität mit Skripten mit Bash, PowerShell u. a.
  • Datenaustausch und Abhängigkeiten
  • Metadaten, Variablen, Secrets und Parameter
  • Modifikation von Umgebungsvariablen einzelner Schritte oder ganzer Workflows
  • Ausführung von Arbeitsschritten in Container-Umgebungen
  • Anwendungsfälle für Service-Container
  • Nutzung vorgefertigter Actions aus dem GitHub Marketplace
  • Ein- und mehrdimensionale Strategien (Matrix)
  • Auswahl geeigneter Runner bspw. anhand des Betriebssystems
  • Debugging und Fehlersuche

Sicherheit

  • Nutzen und Einschränkungen von Secrets
  • Freigaben für Repositories, Umgebungen und Organisationen
  • Ausführungsberechtigungen für Steps und Workflows
  • Personal Access Tokens

Continuous Integration / Delivery Workflows

  • Continuous Integration am Beispiel einer .NET-Anwendung
    • Erstellung von Artefakten
    • Ausführung automatisierter Tests
  • Erstellung von Docker Images
    • Zuweisung von Metadaten und Tags
    • Authentifizierung gegenüber einer Image Registry wie z. B. Docker Hub
    • Nutzung von docker buildx, bspw. zur Erzeugung von Images für mehrere Prozessorarchitekturen
  • Continuous Delivery mit GitHub Actions erreichen
    • Deployments in Kubernetes mit Helm
    • Copy-Deployment per rsync und SFTP
    • Erzeugen von GitHub Releases
    • Praktische Beispiele für GitOps

GitHub Packages

  • Einfach zu integrierender Artefaktspeicher für bspw. NuGet-, NPM- und Maven-Pakete
  • Vergabe von Zugriffsberechtigungen
  • GitHub Container Registry
    • Authentifizierung
    • Lesenden und schreibenden Zugriff ermöglichen
    • Image-Sichtbarkeit und -Sicherheit

Custom Actions

  • Einrichtung eines Repositories mit geeigneter Struktur
  • Verarbeitung von Ein- und Ausgabeparametern
  • JavaScript-, Docker-basierte und Composite Actions
  • Versionierung und Veröffentlichung einer eigenen Action

Self-hosted Runner

  • Voraussetzungen und Einsatzszenarien
  • Bare Metal, VM oder Container als zugrundeliegende Infrastruktur
  • Workflow-Integration
  • Nutzung von act zur lokalen Ausführung von Actions

Unsere Veranstaltungsorte von dieser / diesem Schulung, Training, Seminar, Kurs (nach oben): Berlin, Dresden, Frankfurt am Main, Hamburg, Hannover, Karlsruhe, Köln, Leipzig, Magdeburg, München, Stuttgart und Inhouse.

Fortbildung oder Weiterbildung zu GitHub Actions – wir setzen nur auf erfahrene Talente als GitHub Actions Trainer. Das Credo von Frank Pommerening lautet „Technologie ist da, um für und mit den Kunden Lösungen zu entwickeln“. Mehr zu ihm und den Beweggründen unserer anderen Trainer erfahren Sie bei seiner Biographie (direkt erreichbar per Bild).

Nach oben