111 lines
2.8 KiB
Markdown
111 lines
2.8 KiB
Markdown
# php-ci Label zum Runner hinzufügen
|
|
|
|
## Problem
|
|
Workflows mit `runs-on: php-ci` können nicht ausgeführt werden, wenn der Runner dieses Label nicht kennt.
|
|
|
|
## Lösung
|
|
|
|
### Schritt 1: php-ci Image verfügbar machen
|
|
|
|
**Option A: Image in Registry pushen (empfohlen für Production)**
|
|
```bash
|
|
cd deployment/gitea-runner
|
|
./build-ci-image.sh
|
|
|
|
# Login zur Registry
|
|
docker login registry.michaelschiemer.de -u admin
|
|
|
|
# Image zur Registry pushen
|
|
docker tag php-ci:latest registry.michaelschiemer.de/ci/php-ci:latest
|
|
docker push registry.michaelschiemer.de/ci/php-ci:latest
|
|
```
|
|
|
|
**Option B: Image lokal in docker-dind laden**
|
|
```bash
|
|
cd deployment/gitea-runner
|
|
|
|
# Stelle sicher dass docker-dind läuft
|
|
docker compose up -d docker-dind
|
|
|
|
# Image bauen
|
|
./build-ci-image.sh
|
|
|
|
# Image in docker-dind laden
|
|
docker save php-ci:latest | docker exec -i gitea-runner-dind docker load
|
|
```
|
|
|
|
### Schritt 2: Label zu .env hinzufügen
|
|
|
|
**Wenn .env existiert:**
|
|
```bash
|
|
cd deployment/gitea-runner
|
|
nano .env
|
|
```
|
|
|
|
Füge `php-ci:docker://php-ci:latest` zu `GITEA_RUNNER_LABELS` hinzu:
|
|
|
|
```bash
|
|
# Für lokales Image:
|
|
GITEA_RUNNER_LABELS=ubuntu-latest:docker://node:16-bullseye,ubuntu-22.04:docker://node:16-bullseye,php-ci:docker://php-ci:latest
|
|
|
|
# Für Registry Image (empfohlen):
|
|
GITEA_RUNNER_LABELS=ubuntu-latest:docker://node:16-bullseye,ubuntu-22.04:docker://node:16-bullseye,php-ci:docker://registry.michaelschiemer.de/ci/php-ci:latest
|
|
```
|
|
|
|
**Wenn .env nicht existiert:**
|
|
```bash
|
|
cd deployment/gitea-runner
|
|
cp .env.example .env
|
|
# Dann .env bearbeiten und php-ci Label sicherstellen (ist schon im Beispiel enthalten)
|
|
```
|
|
|
|
### Schritt 3: Runner neu registrieren
|
|
|
|
⚠️ **WICHTIG:** Labels können nur bei der Registration geändert werden!
|
|
|
|
```bash
|
|
cd deployment/gitea-runner
|
|
|
|
# Runner unregistrieren
|
|
./unregister.sh
|
|
|
|
# Runner mit neuen Labels neu registrieren
|
|
./register.sh
|
|
```
|
|
|
|
### Schritt 4: Verifikation
|
|
|
|
1. **In Gitea UI prüfen:**
|
|
- Gehe zu: https://git.michaelschiemer.de/admin/actions/runners
|
|
- Runner sollte jetzt das `php-ci` Label zeigen
|
|
|
|
2. **Workflow testen:**
|
|
- Ein Workflow mit `runs-on: php-ci` sollte jetzt funktionieren
|
|
|
|
## Troubleshooting
|
|
|
|
**Runner zeigt php-ci Label nicht:**
|
|
- Runner muss neu registriert werden (Labels können nicht dynamisch geändert werden)
|
|
- Prüfe ob Image verfügbar ist: `docker exec gitea-runner-dind docker images | grep php-ci`
|
|
|
|
**Workflow findet keinen Runner:**
|
|
- Prüfe ob Runner das Label hat (Gitea UI)
|
|
- Prüfe ob Image verfügbar ist (für lokales Image: in docker-dind)
|
|
|
|
## Schnellstart
|
|
|
|
```bash
|
|
cd deployment/gitea-runner
|
|
|
|
# 1. Image bauen und in docker-dind laden
|
|
./build-ci-image.sh
|
|
docker save php-ci:latest | docker exec -i gitea-runner-dind docker load
|
|
|
|
# 2. .env prüfen/anpassen
|
|
nano .env # Sicherstellen dass php-ci:docker://php-ci:latest in GITEA_RUNNER_LABELS ist
|
|
|
|
# 3. Runner neu registrieren
|
|
./unregister.sh
|
|
./register.sh
|
|
```
|