Files
huesser 9454860a41
Build and Publish Site / docker (push) Successful in 22s
Arbeit an der Dokumentation: "Deployment" Teil ziemlich fertig.
2026-07-01 16:39:24 +02:00

61 lines
2.4 KiB
Markdown

# Deployment
## Quellcode
Der Quellcode ist auf Gitea unter https://gitea.psi.ch/data-catalog-services/ArchiveCostWebapp zu finden.
Verwende git-Hilfsmittel, wenn du daran etwas ändern möchtest.
## Container-Images
Wie der/die Container-Images gebaut werden, wird im docker-compose.yml File beschrieben. Da es zwei Images braucht
sind folgende Kommandos auszuführen:
```bash
# Git Hash holen
GIT_SHA=$(git rev-parse --short HEAD)
# Build mit ZWEI Tags (-t) ausführen
docker buildx build --platform linux/amd64 \
-t gitea.psi.ch/data-catalog-services/archivecostwebapp-logic:$GIT_SHA \
-t gitea.psi.ch/data-catalog-services/archivecostwebapp-logic:latest \
--push ./logic
docker buildx build --platform linux/amd64 \
-t gitea.psi.ch/data-catalog-services/archivecostwebapp-analytics:$GIT_SHA \
-t gitea.psi.ch/data-catalog-services/archivecostwebapp-analytics:latest \
--push ./analytics
```
Auf gitea findet man die Images unter https://gitea.psi.ch/data-catalog-services -> Packages
Jedes Image wird jeweils nur einmal in die Registry geladen.
Das folgende Diagramm verdeutlicht, wie Gitea mit mehreren Tags umgeht. Die eigentlichen Image-Daten werden nur
einmal auf den Server übertragen:
```mermaid
graph TD
Mac[💻 Dein Mac/PC]
subgraph Gitea [Gitea Container Registry]
direction TB
TagLatest[🏷️ Tag: latest]
TagHash[🏷️ Tag: a1b2c3d]
ImageData[📦 Image-Daten <br><i>Layer, Python-Code, Packages</i>]
end
Mac -->|1. Lädt Daten einmalig hoch| ImageData
TagLatest -->|2. Verweist auf| ImageData
TagHash -->|3. Verweist auf| ImageData
style Gitea fill:#f9f9f9,stroke:#333,stroke-width:2px
style ImageData fill:#e1f5fe,stroke:#0288d1,stroke-width:2px
style TagLatest fill:#fff9c4,stroke:#fbc02d,stroke-width:1px
style TagHash fill:#fff9c4,stroke:#fbc02d,stroke-width:1px
```
## Dokumentation
Es wird `properdocs` für die Erstellung der Dokumentation verwendet. Das Erzeugen einer lokalen
Dokumentation (welche im Verzeichnis site/ landen würde) ist dabei nicht notwendig. Benutze
`properdocs serve` um lokal, während des Schreibens der Dokumentation, die Änderungen anzuschauen.
Beim Deployen wird auf gitea der in .gitea/workflows/publish.yaml beschriebene Workflow getriggert.
Dieser erstellt die statische Dokumentation (wie im properdocs.yml beschrieben) welche dann unter
https://data-catalog-services.pages.psi.ch/ArchiveCostWebapp/ angeschaut werden kann.