GitHub Actions Workflow erstellen
GitHub Actions Workflow erstellen: CI-Pipeline für Node.js, Python, Go, Java, .NET oder Docker mit Build-Matrix, Cache und Zeitplan als fertige YAML-Datei.
Alles läuft in Ihrem Browser. Eingaben verlassen Ihr Gerät nicht.
CI-Pipeline in wenigen Minuten
Mit diesem Generator können Sie einen GitHub Actions Workflow erstellen, der bei jedem Push und Pull Request Ihren Code prüft. Ein Workflow ist eine Datei im Format YAML im Ordner .github/workflows/; GitHub erkennt sie automatisch. Der GitHub Actions Generator erzeugt eine vollständige CI-Pipeline mit Auschecken des Codes, Einrichten der Laufzeit, Installieren der Abhängigkeiten und den Schritten Lint, Test und Build. Für Node.js, Python, Go, Java und .NET werden die offiziellen setup-*-Actions verwendet, für Docker docker/build-push-action.
Die Build-Matrix führt denselben Job für mehrere Versionen und Betriebssysteme parallel aus. Tragen Sie die Versionen kommagetrennt ein; im Workflow-YAML stehen sie in Anführungszeichen, weil YAML 3.10 sonst als Zahl 3.1 lesen würde. Mit dem Cache werden heruntergeladene Pakete zwischen den Läufen aufbewahrt, was Minuten spart. concurrency bricht ältere Läufe desselben Branches ab, sobald ein neuer Push kommt, und permissions: contents: read beschränkt das automatisch erzeugte Token auf Lesezugriff.
Die Actions werden mit ihrer Hauptversion eingebunden, etwa actions/checkout@v4. Prüfen Sie gelegentlich, ob es neuere Hauptversionen gibt, und heben Sie sie an; für besonders strenge Umgebungen können Sie stattdessen einen vollständigen Commit-Hash eintragen. Die Befehle für Lint und Test sind übliche Vorgaben (npm run lint, ruff, pytest, go vet); passen Sie sie an Ihr Projekt an. Zeitpläne laufen in UTC; den Cron-Ausdruck stellen Sie mit dem Cron-Generator zusammen.
Anleitung: GitHub Actions Workflow erstellen in 5 Schritten
- Unter „Sprache / Projekt“ den Projekttyp wählen; die üblichen Versionen werden vorbelegt.
- Auslöser festlegen: „Bei Push“, „Bei Pull Request“, „Manuell starten“ und optional einen Zeitplan im Cron-Format.
- Unter „Versionen (Matrix)“ und „Betriebssystem“ bestimmen, in welchen Kombinationen getestet wird.
- Die Schritte Lint, Test und Build sowie Cache, Abbruch alter Läufe und Leserechte an- oder abwählen.
- Die Datei kopieren und als
.github/workflows/ci.ymlim Repository speichern.
Typische Anwendungsfälle
- Ein neues Repository mit automatischen Tests für jeden Pull Request ausstatten.
- Bibliotheken gegen mehrere Laufzeitversionen und Betriebssysteme testen, bevor ein Release erscheint.
- Nächtliche Builds per Zeitplan einrichten, um Probleme mit neuen Abhängigkeiten früh zu bemerken.
Häufige Fragen
Wo speichere ich die Workflow-Datei?
Im Repository unter .github/workflows/, etwa als ci.yml. Nach dem Push erscheint der Workflow im Reiter Actions und läuft beim nächsten passenden Ereignis.
Warum laufen Workflows aus Forks mit eingeschränkten Rechten?
Pull Requests aus Forks könnten sonst Secrets auslesen. GitHub gibt ihnen beim Ereignis pull_request deshalb keine Secrets und nur ein Token mit Leserechten.
Wie nutze ich Secrets im Workflow?
Legen Sie sie unter Settings, Secrets and variables, Actions an und greifen Sie mit ${{ secrets.NAME }} darauf zu, zum Beispiel als Umgebungsvariable eines Schritts. In Logs werden sie maskiert.
Was bedeutet fail-fast in der Matrix?
Standardmäßig bricht GitHub alle Matrix-Jobs ab, sobald einer fehlschlägt. Mit fail-fast: false, wie im erzeugten Workflow, laufen alle Kombinationen zu Ende und Sie sehen auf einen Blick, welche Versionen betroffen sind.
Warum startet mein Zeitplan nicht pünktlich?
Geplante Workflows laufen in UTC und können bei hoher Last verzögert starten. In Repositories ohne Aktivität deaktiviert GitHub Zeitpläne nach einiger Zeit automatisch.
Kostet GitHub Actions etwas?
Für öffentliche Repositories sind Standard-Runner kostenlos. Für private Repositories enthält jeder Tarif ein monatliches Kontingent an Minuten; was darüber hinausgeht, wird abgerechnet. Die aktuellen Kontingente stehen in der Abrechnungsübersicht von GitHub.
Wie teste ich einen Workflow, ohne ständig zu pushen?
Mit dem Auslöser workflow_dispatch starten Sie den Lauf im Reiter Actions per Knopfdruck. Für lokale Tests gibt es das Open-Source-Werkzeug act, das Workflows in Docker nachbildet, aber nicht jede Funktion von GitHub abdeckt.
Das könnte auch helfen
Cron-Ausdruck erklären
Crontab-Zeilen mit 5 oder 6 Feldern auf Deutsch erklärt, mit den nächsten 10 Ausführungen.
ÖffnenCron-Generator
Zeitplan im Formular wählen und die fertige Crontab-Zeile kopieren.
ÖffnenUnix-Zeitstempel umrechnen
Timestamp in Datum und zurück, Sekunden und Millisekunden erkannt, UTC und Berlin.
ÖffnenUUID-Generator
UUID v4 und v7 erzeugen, bis zu 1.000 auf einmal, und vorhandene UUIDs prüfen.
ÖffnenULID-Generator
Sortierbare IDs in Crockford Base32 erzeugen, dekodieren und in UUID umwandeln.
ÖffnenTexte vergleichen (Diff)
Unterschiede zwischen zwei Texten zeilen-, wort- oder zeichenweise finden.
Öffnen