New: CI/CD Yaml Configuration Example

This commit is contained in:
2026-03-23 02:52:50 +01:00
parent 7b6a6ec35b
commit 4da2d616a4

View File

@@ -449,16 +449,50 @@ Clone -> Checkout -> Submodule Checkout (optional) -> Dependencies einrichten (z
Anwendungen von Gitea Actions bei dieser Diplomarbeit: Anwendungen von Gitea Actions bei dieser Diplomarbeit:
- APT-Package Repository: - **APT-Package Repository**: Zum Bauen von Oqtane und allen Modulen, verpacken in ein .deb Paket und in die Registry pushen.
> Zum Bauen von Oqtane und allen Modulen, verpacken in ein .deb Paket und in die Registry pushen. - **Interfaces Projekt**: Zum Bauen vom Interfaces-Projekt, verpacken in ein NuGet Paket und in die Registry pushen. Die Versionierung des NuGet-Pakets erfolgt dabei automatisiert über Git-Tags, was eine konsistente Verknüpfung zwischen Quellcode-Stand und Paketversion sicherstellt.
- Interfaces Projekt - **ursprünglich: oqtane.framework**: Zum bauen und Verpacken in einen Docker Container und in die Registry pushen.
> Zum Bauen vom Interfaces-Projekt, verpacken in ein NuGet Paket und in die Registry pushen. Die Versionierung des NuGet-Pakets erfolgt dabei automatisiert über Git-Tags, was eine konsistente Verknüpfung zwischen Quellcode-Stand und Paketversion sicherstellt. - **PM Repository**: Zum automatischen Überprüfen der Dokumente, unter anderem, mithilfe von KI, wie zum Beispiel Gemini.
- ursprünglich: oqtane.framework
> Zum bauen und Verpacken in einen Docker Container und in die Registry pushen.
- PM Repository:
> Zum automatischen Überprüfen der Dokumente, unter anderem, mithilfe von KI, wie zum Beispiel Gemini.
# Gitea Actions YAML einfügen und erklären Ein Beispiel für eine Konfiguration einer Gitea Action:
```yaml
name: build-debian-package
on:
push:
tags:
- "*"
jobs:
build:
name: Build the debian package
runs-on: ubuntu-latest
steps:
- name: "Git clone"
run: git clone ${{ gitea.server_url }}/${{ gitea.repository }}.git .
- name: "Git checkout"
run: git checkout "${{ gitea.sha }}"
- name: "Submodules auschecken"
run: git submodule update --init
- name: "Dotnet SDK einrichten"
uses: actions/setup-dotnet@v4
with:
dotnet-version: "10.0.x"
- name: "Configure nuget source"
run: dotnet nuget add source --name DAV --username kocoder --password ${{ secrets.REGISTRY_TOKEN_KOCODER }} https://git.kocoder.xyz/api/packages/Diplomarbeit-Absolventenverein/nuget/index.json --store-password-in-clear-text
- name: "Build .deb"
run: ./run-build.sh "${{ gitea.ref_name }}" "./alumnihub" "Release"
- name: "Upload .deb"
run: curl --user kocoder:${{ secrets.REGISTRY_TOKEN_KOCODER }} --upload-file ./alumnihub.deb https://git.kocoder.xyz/api/packages/Diplomarbeit-Absolventenverein/debian/pool/trixie/main/upload
- name: "Create release"
uses: akkuman/gitea-release-action@v1
with:
files: |-
./alumnihub.deb
./alumnihub/opt/alumnihub/Packages/*.nupkg
```
Die Konfiguration führt teilweise vorgefertigte Actions aus, wie zum Beispiel das Einrichten des .NET SDKs oder das Erstellen eines Releases. Aber es werden auch eigene Skripte ausgeführt, wie zum Beispiel das Bauen des .deb Pakets. Dieses ist im Repository unter `./run-build.sh` zu finden. Dieses Skript ist für die Automatisierung des Build-Prozesses zuständig und kümmert sich um das Kompilieren der Anwendung, das Erstellen des Debian-Pakets und das Hochladen in die Registry. Abgelegt ist es im APT-Package Repository unter `./gitea/workflows`.
### Debian Paket ### Debian Paket