diff --git a/docs/03_deployment.md b/docs/03_deployment.md index 7f56a71..5d25bad 100644 --- a/docs/03_deployment.md +++ b/docs/03_deployment.md @@ -1,10 +1,60 @@ # 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 +## 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
Layer, Python-Code, Packages] + 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 -- Erstellen einer lokalen Dokumentation ist nicht notwendig. Benutze properdocs serve -- 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. \ No newline at end of file +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. + diff --git a/docs/04_benutzung.md b/docs/04_benutzung.md new file mode 100644 index 0000000..4e4bcc4 --- /dev/null +++ b/docs/04_benutzung.md @@ -0,0 +1,5 @@ +# Benutzung der Applikation +Wie man auf die Applikation zugreift, ist einerseits in docker-compose.yml durch die Angabe +von *build* und *ports*, sowie auf gitea selber (https://gitea.psi.ch/linux/WebHosting/src/branch/main/conf.d +entsprechenden .conf File). Z.B. wird in archivecostwebapp.conf angegeben, wie die URL für den Zugriff aussieht. +Die dort angegebenen URLs und Zertifikate werden vom Linuxteam besorgt. diff --git a/docs/05_fehlerbehandlung.md b/docs/05_fehlerbehandlung.md new file mode 100644 index 0000000..044ec30 --- /dev/null +++ b/docs/05_fehlerbehandlung.md @@ -0,0 +1,2 @@ +# Fehlerbehandlung +Tralala \ No newline at end of file diff --git a/docs/04_api_reference.md b/docs/06_api_reference.md similarity index 100% rename from docs/04_api_reference.md rename to docs/06_api_reference.md diff --git a/properdocs.yml b/properdocs.yml index 0ca55cb..41dffc3 100644 --- a/properdocs.yml +++ b/properdocs.yml @@ -7,7 +7,9 @@ nav: - Architektur: 01_architecture.md - Implementation: 02_implementation.md - Deployment: 03_deployment.md - - Code-Referenz: 04_api_reference.md + - Benutzung: 04_benutzung.md + - Fehlerbehandlung: 05_fehlerbehandlung.md + - Code-Referenz: 06_api_reference.md plugins: - search