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.

.github/workflows/ci.yml

    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

    1. Unter „Sprache / Projekt“ den Projekttyp wählen; die üblichen Versionen werden vorbelegt.
    2. Auslöser festlegen: „Bei Push“, „Bei Pull Request“, „Manuell starten“ und optional einen Zeitplan im Cron-Format.
    3. Unter „Versionen (Matrix)“ und „Betriebssystem“ bestimmen, in welchen Kombinationen getestet wird.
    4. Die Schritte Lint, Test und Build sowie Cache, Abbruch alter Läufe und Leserechte an- oder abwählen.
    5. Die Datei kopieren und als .github/workflows/ci.yml im 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.
    Fragen

    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.

    Weitere Werkzeuge

    Das könnte auch helfen

    Alle 558 Werkzeuge