2.4 KiB
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:
# 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:
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.