Die Con­ti­nuous-In­te­gra­ti­on- und Con­ti­nuous-Delivery-Plattform GitHub Actions er­mög­licht es Ihnen, ver­schie­de­ne Aktionen zu au­to­ma­ti­sie­ren. Das hat den Vorteil, dass Sie sich nicht länger manuell um re­pe­ti­ti­ve Aufgaben kümmern müssen und mehr Zeit für Ihr ei­gent­li­ches Projekt verwenden können.

Was ist GitHub Actions?

GitHub Actions ist die GitHub eigene Plattform für Con­ti­nuous In­te­gra­ti­on und Con­ti­nuous Delivery. Sie er­mög­licht es Nutzenden, Re­po­si­to­ries zu au­to­ma­ti­sie­ren und so­ge­nann­te GitHub Workflows zu erstellen. So gelingt bei­spiels­wei­se das Kom­pi­lie­ren von neuem Code oder die Durch­füh­rung pro­jekt­be­zo­ge­ner Unittests stan­dard­mä­ßig, wenn der Code im GitHub Re­po­si­to­ry ak­tua­li­siert wird.

Wie funk­tio­niert GitHub Actions?

GitHub Actions baut auf Ihren eigenen GitHub Workflows auf. Innerhalb der Workflows können Sie auf ver­schie­de­ne Events wie etwa Push Requests reagieren und in Ab­hän­gig­keit von den Events ent­spre­chen­de Aktionen triggern. Der Workflow selbst besteht dabei aus ver­schie­de­nen so­ge­nann­ten Jobs, die jeweils in einer eigenen vir­tu­el­len Maschine oder innerhalb eines Con­tai­ners laufen. GitHub un­ter­stützt Linux-, Windows- und macOS-VMs.

Tipp

Wenn Sie Ihre Projekte und Websites direkt deployen möchten, ist Deploy Now von IONOS die ideale Lösung. Sie können Ihre au­to­ma­ti­sier­ten GitHub Workflows jederzeit anpassen.

Die wich­tigs­ten Be­stand­tei­le von GitHub Actions

Workflows

Ein GitHub Workflow ist das zentrale Element innerhalb von GitHub Actions. Mit einem Workflow, der ei­gent­lich nichts anderes ist als eine YAML Datei, legen Sie fest, welche Aktionen aus­ge­führt werden sollen, wenn bestimmte Events auftreten. Doch nicht nur Events können Workflows triggern: Sie können auch manuell dafür sorgen, dass Ihr Workflow aus­ge­führt wird, oder sogar mittels Sche­du­ling feste Termine ein­rich­ten.

Jeder GitHub Workflow startet also einen oder mehrere Jobs. Dabei müssen Sie sich nicht auf einen Workflow pro Re­po­si­to­ry be­schrän­ken, sondern können eine beliebige Anzahl an Workflows für Ihr GitHub Re­po­si­to­ry festlegen.

Events

Wie erwähnt, werden Workflows häufig durch so­ge­nann­te Events ge­trig­gert. Hierbei handelt es sich um eine bestimmte Aktion in Ihrem GitHub Re­po­si­to­ry, die das Ausführen eines Workflows auslöst. Ein ge­läu­fi­ges Beispiel für ein GitHub Event ist eine Pull Request. Es gibt al­ler­dings unzählige Events, die Sie nutzen können. Eine voll­stän­di­ge Auf­zäh­lung findet sich in der GitHub-Do­ku­men­ta­ti­on.

Actions

Na­mens­ge­bend und zentral für GitHub Actions sind selbst­ver­ständ­lich die so­ge­nann­ten Actions. Bei einer Action handelt es sich um eine in­di­vi­du­el­le GitHub-Ap­pli­ka­ti­on, die häufig aus­ge­führ­te komplexe Aufgaben ausführt. Sie können ähnlich wie Funk­tio­nen innerhalb Ihrer Workflow-Dateien genutzt werden, um re­pe­ti­ti­ven Code zu vermeiden. Wenn Sie Ihre GitHub Actions nicht selbst schreiben möchten, finden Sie eine Reihe vor­de­fi­nier­ter Actions im GitHub Mar­ket­place.

Steps

Bei Steps handelt es sich um einzelne Be­stand­tei­le von Jobs. Sie bestehen entweder aus Shell­scripts, die aus­ge­führt werden, oder aber aus einer Action, die gestartet wird. Steps werden in der Rei­hen­fol­ge be­ar­bei­tet, in der sie definiert werden. Außerdem bauen die ver­schie­de­nen Steps auf­ein­an­der auf und können un­ter­ein­an­der Daten aus­tau­schen.

Jobs

Ein Job ist im Grunde nichts weiter als eine An­ein­an­der­rei­hung von Steps, die auf einem so­ge­nann­ten Runner aus­ge­führt werden. Obwohl Jobs an sich un­ab­hän­gig sind, können Sie manuell Ab­hän­gig­kei­ten zwischen einzelnen Jobs her­stel­len. Das führt dazu, dass ein Job auf alle Jobs warten muss, von denen er abhängt. So wird die normale, parallele Aus­füh­rung ver­schie­de­ner Jobs un­ter­bro­chen.

Runner

Ein Runner ist der Server, auf dem Ihre Workflows aus­ge­führt werden. Dabei kann jeder Runner genau einen Job gleich­zei­tig ausführen. Es handelt sich bei den Runnern also im Grunde um virtuelle Maschinen. Als Be­triebs­sys­tem werden von GitHub Linux Ubuntu, Windows und macOS un­ter­stützt. Wenn Sie ein anderes Be­triebs­sys­tem benötigen, um Ihre Projekte zu testen, können Sie selbst­ver­ständ­lich auch eigene Runner hosten.

Vorteile von GitHub Actions

Neben der Tatsache, dass Sie GitHub Actions nahtlos in Ihre Arbeit mit GitHub in­te­grie­ren können, bietet der Con­ti­nuous-In­te­gra­ti­on-Dienst eine Reihe weiterer Vorteile. So können Sie sich vor­de­fi­nier­ten Templates bedienen und müssen nicht zwingend eigene Workflows nutzen. Außerdem ist der GitHub-Dienst für Ihre öf­fent­li­chen Re­po­si­to­ries voll­kom­men kostenlos. Für private Repos stellt GitHub Ihnen 2.000 Minuten pro Monat für gehostete Workflows zur Verfügung.

Zum Hauptmenü