Forgejo Pipelines · Workshop
Referenz
Glossar & Keyword-Referenz
Das Nachschlagewerk des Kurses. Begriffe und
.forgejo/workflows/*.yaml-Keywords, auf die sich alle Lektionen beziehen.
Zum Ausdrucken gemacht.
Verbindlich: Diese Begriffe werden in jeder Lektion einheitlich verwendet.
Wenn ein Wort hier definiert ist, meint es überall im Kurs genau das.
★ = Forgejo-Besonderheit.
Grundbegriffe
- Workflow
- Der gesamte automatisierte Ablauf, definiert in einer YAML-Datei unter
.forgejo/workflows/. Startet bei einem Ereignis (Push, Pull Request, Zeitplan).
Enthält einen oder mehrere Jobs.
- Job
- Eine Arbeitseinheit innerhalb eines Workflows, die ein Runner übernimmt.
Jobs laufen standardmässig parallel; Reihenfolge entsteht nur über
needs. Besteht aus einer Liste von Steps.
- Step
- Ein einzelner Schritt in einem Job – entweder ein
run (Shell-Befehl) oder ein
uses (Action). Steps laufen nacheinander; ein Fehler stoppt den Job.
- Action
- Eine wiederverwendbare Prozedur, die per
uses eingebunden wird (z. B.
actions/checkout). Liegt in einem Repo – nicht in einem
zentralen Marktplatz.
- Runner
- Das eigenständige Programm (Forgejo Runner), das Jobs bei Forgejo abholt und ausführt.
Forgejo selbst führt nichts aus. Wird über
runs-on + Label gewählt.
- act ★
- Die Engine im Runner (Soft-Fork von
nektos/act), die die Workflow-Sprache
interpretiert und Jobs – meist in Containern – ausführt.
- Label
- Ein Bezeichner, der bei der Runner-Registrierung vergeben wird.
runs-on
matcht Jobs auf Runner mit passendem Label (z. B. docker).
Entspricht grob GitLabs tags.
- Trigger / Event
- Das auslösende Ereignis unter
on: (z. B. push,
pull_request, schedule, workflow_dispatch).
- Run (Lauf)
- Eine konkrete Ausführung eines Workflows, sichtbar im Actions-Tab des Repos.
Wichtige Keywords
on:
- Welche Events den Workflow starten. Ebene: Workflow.
jobs:
- Container für alle Jobs. Jeder Schlüssel darunter ist eine Job-id. Ebene: Workflow.
runs-on:
- Runner-Label zur Auswahl. Pflicht – ausser der Job ruft via
uses eine reusable
workflow auf. Ebene: Job.
steps:
- Geordnete Liste von Schritten. Jeder Step ist
run ODER uses.
Ebene: Job.
uses: ★
- Bindet eine Action ein. Auflösung über URL/Repo/lokalen Pfad/Container – kein Marketplace.
Ebene: Step. Siehe Lektion 6.
run:
- Führt Shell-Befehl(e) aus. Ebene: Step.
with:
- Eingaben an eine
uses-Action. Ebene: Step.
needs:
- Macht einen Job von anderen abhängig (Reihenfolge / DAG). Ebene: Job.
if:
- Bedingung für Job oder Step.
${{ }} ist hier implizit. Ebene: Job/Step.
container:
- Image, in dem alle Steps des Jobs laufen. Ebene: Job.
services:
- Begleit-Container (DB, Cache …) für die Job-Dauer. Ebene: Job.
strategy.matrix:
- Vervielfacht einen Job über Wertekombinationen. Ebene: Job.
outputs: / env:
outputs reicht Werte an needs-Folgejobs; env setzt
Umgebungsvariablen. Ebene: Job (env auch Workflow/Step).
Begriffe, die wir bewusst vermeiden
| Vermeiden | Richtig im Kurs |
stages / Stage | Gibt es in Forgejo nicht – Ordnung über needs. |
script | Heisst hier run (innerhalb eines Steps). |
| „Pipeline-Datei" | Workflow (Datei in .forgejo/workflows/). |
tags (GitLab) | Label via runs-on. |
| „Plugin" / „Modul" | Action. |