- Add FIX_RUNNER_CONFIG.md with manual steps to re-register runner - Add fix-gitea-runner-config.yml to diagnose runner issues - Add register-gitea-runner.yml to re-register runner via Ansible - Fixes issue where runner falls back to GitHub on 504 errors
93 lines
2.4 KiB
Markdown
93 lines
2.4 KiB
Markdown
# Gitea Runner Konfiguration korrigieren
|
|
|
|
## Problem
|
|
|
|
Der Gitea Runner verwendet gemischte URLs (GitHub + Gitea) und fällt bei 504-Fehlern auf GitHub zurück, was zu Timeouts führt.
|
|
|
|
## Lösung: Runner neu registrieren
|
|
|
|
### Schritt 1: Runner stoppen
|
|
|
|
```bash
|
|
cd deployment/gitea-runner
|
|
docker compose stop gitea-runner
|
|
```
|
|
|
|
### Schritt 2: Backup erstellen und .runner Datei entfernen
|
|
|
|
```bash
|
|
# Backup erstellen
|
|
cp data/.runner data/.runner.backup.$(date +%s)
|
|
|
|
# .runner Datei entfernen (wird bei neuer Registration neu erstellt)
|
|
rm -f data/.runner
|
|
```
|
|
|
|
### Schritt 3: Runner starten
|
|
|
|
```bash
|
|
docker compose up -d gitea-runner
|
|
```
|
|
|
|
### Schritt 4: Runner neu registrieren
|
|
|
|
```bash
|
|
# .env Datei laden
|
|
source .env
|
|
|
|
# Runner registrieren (nur mit korrekter Gitea-URL)
|
|
docker compose exec -T gitea-runner act_runner register \
|
|
--instance "${GITEA_INSTANCE_URL}" \
|
|
--token "${GITEA_RUNNER_REGISTRATION_TOKEN}" \
|
|
--name "${GITEA_RUNNER_NAME}" \
|
|
--labels "${GITEA_RUNNER_LABELS}"
|
|
```
|
|
|
|
**Wichtig**: Bei der Aufforderung "Runner is already registered, overwrite local config? [y/N]" mit `y` antworten.
|
|
|
|
### Schritt 5: Verifikation
|
|
|
|
1. **Prüfe .runner Datei:**
|
|
```bash
|
|
cat data/.runner | grep -E "(address|instance)"
|
|
```
|
|
Sollte nur `https://git.michaelschiemer.de` enthalten, keine GitHub-URLs.
|
|
|
|
2. **Prüfe Runner-Logs:**
|
|
```bash
|
|
docker compose logs gitea-runner --tail=50 | grep -E "(github|instance|declare)"
|
|
```
|
|
Sollte `declare successfully` zeigen und keine GitHub-URLs mehr enthalten.
|
|
|
|
3. **Prüfe in Gitea UI:**
|
|
- Gehe zu: https://git.michaelschiemer.de/admin/actions/runners
|
|
- Runner sollte als "Online" angezeigt werden
|
|
|
|
## Automatisierung
|
|
|
|
Falls der Runner automatisch neu registriert werden soll:
|
|
|
|
```bash
|
|
cd deployment/gitea-runner
|
|
./unregister.sh # Falls vorhanden
|
|
./register.sh # Neu registrieren
|
|
```
|
|
|
|
## Troubleshooting
|
|
|
|
**Runner registriert sich nicht:**
|
|
- Prüfe, ob Gitea erreichbar ist: `curl https://git.michaelschiemer.de/api/healthz`
|
|
- Prüfe, ob der Registration Token noch gültig ist
|
|
- Prüfe Runner-Logs: `docker compose logs gitea-runner`
|
|
|
|
**Runner verwendet immer noch GitHub:**
|
|
- Stelle sicher, dass die `.runner` Datei nur die korrekte Gitea-URL enthält
|
|
- Prüfe, ob es mehrere Runner-Instanzen gibt: `docker ps | grep runner`
|
|
- Prüfe Workflow-Definitionen auf GitHub-URLs
|
|
|
|
**504 Gateway Timeout:**
|
|
- Prüfe Gitea-Container: `docker logs gitea`
|
|
- Prüfe Traefik-Logs: `docker logs traefik`
|
|
- Stelle sicher, dass Gitea nicht überlastet ist
|
|
|