New: Debian Paket

This commit is contained in:
2026-03-21 12:07:46 +01:00
parent d1e7cee64a
commit bf6f69daab

View File

@@ -296,7 +296,26 @@ Anwendungen von Gitea Actions bei dieser Diplomarbeit:
### Debian Paket ### Debian Paket
TODO Um die Anwendung und ihre Abhängigkeiten konsistent auf dem Zielserver (Linux/Hetzner) zu installieren, wurde ein eigenes Debian-Paket (`.deb`) erstellt. Das Debian-Paketformat bietet den Vorteil, dass es Metadaten über Versionen, Abhängigkeiten und Installationsskripte (Maintainer Scripts) enthält.
#### Struktur eines Debian-Pakets
Ein `.deb`-Paket ist im Grunde ein `ar`-Archiv, das drei wesentliche Bestandteile enthält:
- **debian-binary**: Eine Textdatei mit der Versionsnummer des Paketformats.
- **control.tar.gz**: Enthält die Metadaten (`control`-Datei) und Skripte, die vor oder nach der Installation ausgeführt werden (z. B. `postinst` zum Starten des Systemd-Services).
- **data.tar.gz**: Enthält die eigentlichen Anwendungsdateien (die kompilierten Oqtane-DLLs und statischen Assets), die in das Zielverzeichnis (z. B. `/opt/alumnihub`) entpackt werden.
#### Automatisierung im Build-Prozess
Der Bau des Pakets erfolgt vollautomatisch in der Gitea-CI-Pipeline. Dabei werden die folgenden Schritte durchlaufen:
1. **Dotnet Publish**: Kompilieren der Anwendung für Linux-x64.
2. **Paketierung**: Erstellen der Verzeichnisstruktur gemäß dem FHS (Filesystem Hierarchy Standard).
3. **dpkg-deb**: Aufruf des Standard-Werkzeugs `dpkg-deb --build`, um das fertige Paket zu schnüren.
4. **Publish**: Das Paket wird in die Gitea Package Registry hochgeladen und steht dort für das Deployment via `apt` zur Verfügung.
Durch diesen Prozess wird sichergestellt, dass jede Version der Software eindeutig identifizierbar und einfach rückrollbar (Rollback) ist.
## Projektmanagement & Tools ## Projektmanagement & Tools