This commit is contained in:
@@ -43,15 +43,33 @@ bestehende Postgres-Datenbank mit Daten, dann:
|
||||
|
||||
## Bauen und Verteilen als Container
|
||||
|
||||
Bei jedem Push nach `main` bzw. auf einen `v*`-Tag baut die Gitea-Actions-
|
||||
Pipeline (`.gitea/workflows/build.yml`) automatisch ein Image und pusht es in
|
||||
die Gitea-Registry (getaggt als `:latest` und mit dem Commit-Hash).
|
||||
Bei jedem Push auf `main`, `Dev`, `beta` oder einen `v*`-Tag baut die
|
||||
Gitea-Actions-Pipeline (`.gitea/workflows/build.yml`) automatisch ein Image
|
||||
und pusht es in die Gitea-Registry. Welche Tags dabei entstehen, hängt vom
|
||||
Branch ab:
|
||||
|
||||
| Push auf … | Image-Tags |
|
||||
|--------------------|--------------------------------------|
|
||||
| `main` | `:latest` und `:v<VERSION>` |
|
||||
| `Dev` | `:dev` und `:v<VERSION>-dev` |
|
||||
| `beta` | `:beta` und `:v<VERSION>-beta` |
|
||||
| Git-Tag `v1.4.0` | genau `:v1.4.0` |
|
||||
|
||||
Zusätzlich wird bei jedem Build immer auch `:<commit-sha>` gepusht, für die
|
||||
exakte Nachverfolgung einzelner Builds.
|
||||
|
||||
`<VERSION>` kommt aus der Datei `VERSION` im Repo-Root (aktuell `1.0.0`).
|
||||
Vor einem Release dort einfach die Zahl erhöhen und committen – die Pipeline
|
||||
liest den Wert automatisch bei jedem Build neu ein, es ist keine weitere
|
||||
Konfiguration nötig.
|
||||
|
||||
Für einen **anderen Server**, der nur das fertige Image ziehen und selbst
|
||||
nichts bauen soll, gibt es `docker-compose.deploy.yml`: sie referenziert das
|
||||
Image direkt aus der Registry (`image: git.thiede-brauer.de/bryan.hoffmann/wdm:latest`,
|
||||
kein `build:`). Auf diesem Server reicht allein diese eine Datei – der Rest
|
||||
des Repos wird dort nicht benötigt:
|
||||
des Repos wird dort nicht benötigt. Statt `:latest` kann dort auch gezielt
|
||||
ein Versions-Tag (z.B. `:v1.4.0`) oder `:dev`/`:beta` eingetragen werden, um
|
||||
eine bestimmte Version bzw. einen bestimmten Entwicklungsstand zu deployen:
|
||||
|
||||
```bash
|
||||
docker login git.thiede-brauer.de -u <benutzername> # falls die Registry nicht öffentlich lesbar ist
|
||||
@@ -238,7 +256,8 @@ wdm/
|
||||
├── Dockerfile Build-Anweisungen (Kontext = Projektwurzel)
|
||||
├── docker-compose.yml lokal bauen/testen (build: .)
|
||||
├── docker-compose.deploy.yml nur Image ziehen (für andere Server)
|
||||
├── .gitea/workflows/build.yml CI: baut Image und pusht in die Gitea-Registry
|
||||
├── .gitea/workflows/build.yml CI: baut Image (branch-/versionsabhängig getaggt) und pusht in die Gitea-Registry
|
||||
├── VERSION aktuelle Versionsnummer (z.B. "1.0.0"), von der CI-Pipeline gelesen
|
||||
├── README.md
|
||||
└── build/
|
||||
├── app.py Flask-Anwendung (alle Routen, Server-Side-Rendering)
|
||||
@@ -251,4 +270,4 @@ wdm/
|
||||
```
|
||||
|
||||
Wichtig: `docker compose` muss aus dem Projektwurzel-Verzeichnis heraus
|
||||
aufgerufen werden (dort, wo `docker-compose.yml` liegt), nicht aus `build/`.
|
||||
aufgerufen werden (dort, wo `docker-compose.yml` liegt), nicht aus `build/`.
|
||||
Reference in New Issue
Block a user