12 — Actions (CI) und Releases
Mit Actions lassen Sie bei jedem Commit automatisch Tests laufen, Pakete bauen oder Dateien veröffentlichen.
Ihr erster Workflow
Legen Sie im Repository eine Datei .gitea/workflows/test.yml an:
name: test
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: echo "Repository ausgecheckt"
- run: ./scripts/test.sh
Sobald Sie committen, startet der Lauf im Reiter Actions. Der auf diesem Server registrierte Runner hört auf die Labels ubuntu-latest, ubuntu-24.04 und ubuntu-22.04; runs-on muss eines davon sein.
Logs lesen
Actions → Lauf → Job → Schritt: Die Ausgabe jedes Schrittes klappt einzeln auf. Der rote Schritt zeigt, wo es hakt; oben rechts starten Sie den Lauf erneut.
Wann soll es laufen
on:
push:
branches: [main] # nur bei Pushes auf main
pull_request: # bei jedem Pull Request
schedule:
- cron: '0 3 * * *' # jede Nacht um 03:00
Secrets
Schreiben Sie Passwörter und Tokens nie in die Workflow-Datei. Legen Sie sie unter Einstellungen → Actions → Secrets an und verwenden Sie sie so:
- run: ./deploy.sh
env:
TOKEN: ${{ secrets.DEPLOY_TOKEN }}
In den Logs werden Secrets maskiert.
Ein Release veröffentlichen
Ist ein Arbeitsstand fertig, versehen Sie ihn mit einem Tag und erstellen ein Release:
- Releases → Neues Release.
- Tag — etwa
v1.0.0. Existiert er nicht, wird er angelegt. - Titel und Notizen — was sich geändert hat; die Commit-Liste hilft.
- Hängen Sie Installer, Archive oder Dokumente an (Anhänge).
- Als Entwurf speichern oder Release veröffentlichen.
Jedes veröffentlichte Release bietet automatisch Quellcode-Archive (.zip, .tar.gz) und dauerhafte Download-Links.
Tag oder Release?
- Tag — eine Markierung an einem Punkt der Historie; sie lebt in git.
- Release — die menschliche Seite dieses Tags: Notizen, Anhänge, Download-Zähler.
Pakete
Der Reiter Pakete listet die an Ihr Repository gebundenen Paket-Registries (npm, Container, generic und mehr). Sobald Sie ein Paket veröffentlichen, erscheint es hier — samt Installationsanleitung auf seiner Seite.