ci: setup CI/CD pipeline with Gitea Actions and secrets configuration

This commit is contained in:
2025-10-31 01:31:44 +01:00
parent 38baaca06b
commit 55c04e4fd0
28 changed files with 2113 additions and 958 deletions

View File

@@ -0,0 +1,104 @@
# Quick Secrets Setup für Gitea CI/CD
## Zusammenfassung der benötigten Werte
### REGISTRY_USER
```
admin
```
### REGISTRY_PASSWORD
```
registry-secure-password-2025
```
### SSH_PRIVATE_KEY
Kopiere den kompletten Inhalt von φ~/.ssh/production`:
```bash
# Zeige SSH Key Inhalt (für Copy-Paste)
cat ~/.ssh/production
```
**Wichtig**: Der komplette Inhalt muss kopiert werden, inklusive:
- `-----BEGIN OPENSSH PRIVATE KEY-----`
- Alle Zeilen dazwischen
- `-----END OPENSSH PRIVATE KEY-----`
## Schnelle Vorbereitung
Führe das Helper-Script aus, um alle Werte anzuzeigen:
```bash
bash scripts/prepare-secrets.sh
```
Dies zeigt alle drei Secrets an, die du kopieren kannst.
## Manuelle Einrichtung in Gitea
1. **Gehe zu Repository Settings:**
```
https://git.michaelschiemer.de/<username>/michaelschiemer/settings/secrets
```
2. **Klicke auf "New Secret"**
3. **Füge jedes Secret hinzu:**
**REGISTRY_USER:**
- Name: `REGISTRY_USER`
- Value: `admin`
- Save
**REGISTRY_PASSWORD:**
- Name: `REGISTRY_PASSWORD`
- Value: `registry-secure-password-2025`
- Save
**SSH_PRIVATE_KEY:**
- Name: `SSH_PRIVATE_KEY`
- Value: `<kompletter Inhalt von cat ~/.ssh/production>`
- Save
## Verifizierung
Nach dem Setup sollten alle drei Secrets in der Liste erscheinen:
- ✅ REGISTRY_USER
- ✅ REGISTRY_PASSWORD
- ✅ SSH_PRIVATE_KEY
Alle zeigen "Hidden" als Wert.
## Nächster Schritt
Sobald die Secrets konfiguriert sind:
1. **Workflow manuell testen:**
```
https://git.michaelschiemer.de/<username>/michaelschiemer/actions
```
- Wähle "Production Deployment Pipeline"
- Klicke "Run workflow"
- Wähle Branch `main`
2. **Oder automatisches Deployment testen:**
- Pushe einen Commit zu `main`
- Workflow startet automatisch
## Troubleshooting
### Secrets werden nicht erkannt
- Prüfe, ob die Namen exakt übereinstimmen (Groß-/Kleinschreibung!)
- Prüfe, ob keine Leerzeichen am Anfang/Ende
### SSH Key Fehler
- Stelle sicher, dass der komplette Key kopiert wurde
- Prüfe, dass `-----BEGIN` und `-----END` Zeilen enthalten sind
### Registry Login Fehler
- Prüfe, ob `REGISTRY_USER` und `REGISTRY_PASSWORD` korrekt sind
- Teste Registry-Erreichbarkeit:
```bash
curl -u admin:registry-secure-password-2025 http://127.0.0.1:5000/v2/_catalog
```