# GitHub Workflows – so arbeiten Sie mit dem praktischen GitHub-Feature

GitHub Workflows erweitern die Funktionalität von [GitHub](https://www.ionos.at/digitalguide/websites/web-entwicklung/github/) und werden im Ordner *.github/workflows* direkt im gewünschten Repository erstellt. Sie ermöglichen es Ihnen, automatisierte Aktionen auszuführen, wenn bestimmte Events auftreten.

## Was sind GitHub Workflows?

Im Grunde genommen ist ein GitHub Workflow nichts anderes als eine **Sammlung von bestimmten, meist wiederkehrenden Aktionen**, die automatisch ausgeführt werden, wenn ein bestimmtes Ereignis im Repository auftritt. Er besteht aus mehreren sogenannten Jobs, die wiederum in einzelne Schritte bzw. Steps aufgeteilt sind. Neben dem eventbasierten Einsatz von Workflows können sie auch manuell gestartet oder innerhalb bestimmter Zeitintervalle ausgeführt werden. Die Workflows sind ein wesentlicher Bestandteil der [Continuous-Integration](https://www.ionos.at/digitalguide/websites/web-entwicklung/continuous-integration/)-Plattform [GitHub Actions](https://www.ionos.at/digitalguide/websites/web-entwicklung/github-actions/ "GitHub Actions").

Welche Aktionen der GitHub Workflow im Einzelnen umfasst, liegt dabei ganz in der Hand der Programmierenden. Häufige Einsatzgebiete sind das **automatisierte Testen von Code**, sobald dieser im Repository aktualisiert wurde, oder das **Benachrichtigen von Team-Mitgliedern**, sobald Änderungen im Repository auftreten.

Tipp Wenn Sie GitHub für Ihr Webprojekt nutzen, lohnt sich die Nutzung von [IONOS Deploy Now](https://www.ionos.at/hosting/deploy-now "Deploy Now von IONOS"), um Ihre Produktivität zu steigern. Der bereits eingerichtete GitHub Actions Workflow sorgt automatisch für das Builden Ihres Projekts.

## Schritt für Schritt zum eigenen Workflow

Einen GitHub Workflow zu erstellen, ist nicht schwer. Sie benötigen lediglich Grundkenntnisse in der Programmiersprache [YAML](https://www.ionos.at/digitalguide/websites/web-entwicklung/yaml-das-schlanke-css-framework-fuer-experten/) und ein GitHub Repository, in dem Sie Ihren Workflow ausführen und bereitstellen möchten. Wenn Sie eine integrierte Entwicklungsumgebung nutzen, um Ihren YAML-Code zu schreiben, kann Ihnen der [GitHub Copilot](https://www.ionos.at/digitalguide/websites/web-entwicklung/github-copilot/) sogar bei der Erstellung des Workflow-Codes behilflich sein.

### Schritt 1: Workflow aufsetzen

Nachdem Sie ein Repository angelegt haben oder ein bereits bestehendes Repository für Ihren GitHub Workflow ausgewählt haben, gelangen Sie mit einem **Klick auf den Button Actions** in das GitHub-Actions-Menü.

[![Bild: Ansicht eines GitHub Repositorys](https://www.ionos.at/digitalguide/fileadmin/_processed_/8/c/csm_ansicht-github-repository_4652e647c4.webp "Ansicht eines GitHub Repositorys")](https://www.ionos.at/digitalguide/fileadmin/DigitalGuide/Screenshots_2022/ansicht-github-repository.png) Ansicht eines GitHub Repositorys Im GitHub-Actions-Menü können Sie nun Ihren **eigenen Workflow erstellen**. Klicken Sie hierfür auf die Schaltfläche „set up a workflow yourself“.

[![Bild: Ansicht des GitHub-Actions-Menüs](https://www.ionos.at/digitalguide/fileadmin/_processed_/c/2/csm_ansicht-github-actions-menue_1192c4c87c.webp "Ansicht des GitHub-Actions-Menüs")](https://www.ionos.at/digitalguide/fileadmin/DigitalGuide/Screenshots_2022/ansicht-github-actions-menue.png) Ansicht des GitHub-Actions-Menüs ### Schritt 2: Code für den GitHub Workflow schreiben

Sobald Sie einen neuen Workflow erstellt haben, öffnet sich automatisch eine neue Datei namens ***main.yml* im Verzeichnis *.github/workflows***. Diese Datei können Sie direkt in GitHub editieren und mit dem Code versehen, den Sie in Ihrem Workflow ausführen möchten. Dieser Code muss, wie die Dateiendung angibt, in der Programmiersprache YAML verfasst sein.

[![Bild: Die Datei main.yml im GitHub Editor](https://www.ionos.at/digitalguide/fileadmin/_processed_/6/5/csm_main-yml-im-github-editor_dee5103958.webp "Die Datei main.yml im GitHub Editor")](https://www.ionos.at/digitalguide/fileadmin/DigitalGuide/Screenshots_2022/main-yml-im-github-editor.png) Die Datei main.yml im GitHub Editor Welche Aktionen Sie in Ihrem Code spezifizieren, ist ganz Ihnen überlassen. Unser Beispielcode erstellt einen Workflow namens „example“ und wird jedes Mal ausgeführt, wenn es einen Commit zum Branch „main“ gibt:

```none
name: example
on:
	push:
		branches: [main]
jobs:
	build:
		runs-on: ubuntu-latest
		steps:
-  uses: actions/checkout@v2
    with:
	fetch-depth: 0
- run: make
```

Zunächst wird spezifiziert, **wann genau der GitHub Workflow ausgeführt** werden soll. Hierfür werden die Schlüsselwörter „on“ und „push“ genutzt. Diese triggern den Workflow, wenn hinter dem Schlüsselwort „branches“ Code angegeben ist.

Der Workflow selbst besteht aus einem Job namens „build“, der wiederum aus zwei einzelnen Schritten besteht und auf einem Ubuntu-Host ausgeführt wird.

Im ersten Schritt nutzen wir eine **vordefinierte GitHub-Aktion namens „checkout“**. Sie sorgt dafür, dass der gesamte Code des Repositorys auf den Host heruntergeladen wird. Der Parameter „fetch-depth“ kann genutzt werden, um die Anzahl der herunterzuladenden Commits zu spezifizieren. Die Angabe „0“ sorgt dafür, dass der gesamte Commit-Verlauf des Branches „main“ heruntergeladen wird.

Der zweite Schritt **führt den Befehl „make“ auf dem Host aus**. Mit diesem wird Code kompiliert und verwaltet, indem Befehle ausgeführt werden, die in aller Regel in einem sogenannten „Makefile“ angegeben sind.

### Schritt 3: GitHub Workflow speichern und committen

Nachdem Sie den Code in Ihrem Workflow spezifiziert haben, müssen Sie die Datei nur noch **speichern und anschließend committen**. Fortan wird Ihr Workflow immer dann ausgeführt, wenn das von Ihnen angegebene Ereignis eintritt.


This is a markdown version of: [https://www.ionos.at/digitalguide/websites/web-entwicklung/github-workflow/](https://www.ionos.at/digitalguide/websites/web-entwicklung/github-workflow/) for AI/LLM consumption.