Was ist GitHub Actions?

06.06.2023 von Josh Fruhlinger
GitHub Actions ermöglicht nahtlose, vielseitige CI/CD-Pipelines. Das sollten Sie über die Plattform wissen.
Ähnlich wie die Klappe am Filmset setzt GitHub Actions vorab definierte Abläufe in Gang.
Foto: Gorodenkoff - shutterstock.com

GitHub Actions ist eine in GitHub integrierte Plattform, mit der Sie Software automatisiert erstellen, prüfen und bereitstellen können. GitHub wiederum gehört Microsoft und ist ein Hosting Service für Softwareentwickler, die mit Git arbeiten - einem von Linus Torvalds entwickelten Open-Source-Programm, das zu Versionskontroll- und Collaboration-Zwecken zum Einsatz kommt.

Git und GitHub dienen bereits diversen Developern und Unternehmen als Entwicklungsgrundlage. Auch wenn es um Continuous Integration und Continuous Delivery (CI/CD) geht. GitHub Actions ermöglicht es, alle möglichen Verhaltensweisen zu automatisieren, die auf verschiedenen Auslösern basieren.

Das Licht der Welt erblickte GitHub Actions im Jahr 2018. Es ist aber nicht das einzige Tool, das Sie verwenden können, um Ihre GitHub-basierten Projekte um CI/CD-Automatisierung zu erweitern (dazu später mehr). Die Plattform bietet jedoch den Vorteil, dass Sie sich als Nutzer nicht um die zugrundeliegende Infrastruktur kümmern müssen. GitHub Actions ist vollumfänglich in GitHub integriert und seine Workflows für GitHub konzipiert.

GitHub Actions verstehen

Um die Funktionsweise von GitHub Actions zu durchdringen, ist ein Blick auf seine Komponenten sinnvoll:

Die GitHub-Dokumentation enthält zahlreiche Beispiele, die Sie dabei unterstützen, die Funktionsweise von GitHub Actions zu verstehen. In einem ersten Schritt könnten Sie zum Beispiel Ihren Code auf einem Runner testen oder versuchen, über das Kommandozeilen-Interface mit GitHub Actions zu arbeiten.

Ein nützliches Tutorial für GitHub Actions bietet auch der YouTube-Channel von Fireship.io:

GitHub Actions absichern

Wenn Sie GitHub Actions auf Code in einem GitHub-Repository ausführen, arbeiten Sie dabei sehr wahrscheinlich mit einer verteilten Codebasis - was Security-Komplikationen hervorrufen kann. Um zu gewährleisten, dass Ihre Workflows sicher sind, empfiehlt GitHub folgende Security Best Practices:

Ausführlichere Sicherheitsinformationen finden Sie direkt auf GitHub.

GitHub Actions integrieren

Da GitHub eine (relativ) offene Plattform ist und GitHub-Actions-Workflows in deklarativem YAML beschrieben werden, gibt es einige Möglichkeiten, Ihren GitHub-Actions-Code in andere Plattformen zu integrieren:

Was GitHub Actions kostet

GitHub Actions ist kostenlos, wenn Ihre Aufträge auf standardmäßigen, von GitHub gehosteten Runnern in öffentlichen Repositories ausgeführt werden - oder Sie Ihre Runner selbst hosten.

Wenn Sie ein privates Repository verwenden, erhalten Sie eine bestimmte Menge an Speicherplatz und Rechenressourcen. Was darüber hinausgeht, müssen Sie bezahlen. Weitere Einzelheiten zum Abrechnungsmodell und den genauen Preisen (Minutenbasis) finden Sie hier.

Alternativen zu GitHub Actions

Wie eingangs erwähnt, gibt es noch weitere Tools auf dem Markt, die den CI/CD-Prozess automatisieren. Eines der bekanntesten und ausgereiftesten Angebote ist dabei das (quelloffene) Projekt Jenkins. Das arbeitet über Plugins mit mit GitHub-Repositories (und mit Code in einer beliebigen Anzahl anderer Umgebungen). Im Allgemeinen ist Jenkins dabei recht flexibel, die Lernkurve kann im Vergleich zu GitHub Actions allerdings steiler ausfallen.

Wenn Sie GitHub verwenden und nicht bereits in ein plattformübergreifendes Tool (wie Jenkins) investiert haben, ist GitHub Actions die logische Wahl in Sachen CI/CD-Automatisierung. (fm)

Dieser Beitrag basiert auf einem Artikel unserer US-Schwesterpublikation Infoworld.