New: Debian Paket
This commit is contained in:
@@ -296,7 +296,26 @@ Anwendungen von Gitea Actions bei dieser Diplomarbeit:
|
||||
|
||||
### 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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user