CI — Test & Build / 🧪 Run Tests & Generate Reports (push) Waiting to run
CI — Test & Build / 🏗️ Build Docker Image (push) Blocked by required conditions
CI — Test & Build / 🐳 Docker integration & API E2E (push) Blocked by required conditions
CI — Test & Build / 🌐 Staging Playwright smoke (push) Waiting to run
62 lines
2.8 KiB
Markdown
62 lines
2.8 KiB
Markdown
# Gitea Actions runner telepítése
|
|
|
|
Ez a projekt `ubuntu-latest` címkéjű Gitea Actions jobokat használ. A futtató ne a Gitea alkalmazásszerveren, hanem egy dedikált Linux CI-hoston fusson. A jelenlegi Gitea szerver verziója 1.22.6, ezért a telepítő az ahhoz illeszkedő `act_runner` 0.2.11 binárist használja.
|
|
|
|
## Előfeltételek a CI-hoston
|
|
|
|
- Linux (`amd64` vagy `arm64`)
|
|
- systemd
|
|
- futó Docker daemon
|
|
- Docker Compose v2: `docker compose version`
|
|
- Node.js és npm: `node --version`, `npm --version`
|
|
- a Gitea szerver HTTPS-címe elérhető: `https://git.mozdit.hu`
|
|
|
|
Mivel a workflow Docker Compose-t futtat, a `gitea-runner` szolgáltatásfelhasználó a `docker` csoportba kerül. Ez a runneren futó repository-workflowknak lényegében Docker-admin jogosultságot ad; ezért kizárólag dedikált, más célra nem használt CI-hoston szabad alkalmazni.
|
|
|
|
## Regisztrációs token beszerzése
|
|
|
|
Nyisd meg a `si/websitedev` repositoryt a Gitea felületén, majd:
|
|
|
|
`Settings → Actions → Runners → Create new runner`
|
|
|
|
A megjelenő token repository-szintű. Ne mentsd el a repositoryba, ne add át chatben, és ne tedd shell historyba.
|
|
|
|
## Telepítés
|
|
|
|
Másold fel a repositoryból a `scripts/install-gitea-runner.sh` fájlt a CI-hostra, majd ott futtasd:
|
|
|
|
```bash
|
|
chmod +x install-gitea-runner.sh
|
|
sudo ./install-gitea-runner.sh
|
|
```
|
|
|
|
A script kérni fogja a tokent rejtett bevitelként, majd:
|
|
|
|
1. letölti az `act_runner` 0.2.11 binárist a CPU-architektúrához;
|
|
2. létrehozza a `gitea-runner` rendszerfelhasználót és az `/opt/gitea-runner` könyvtárat;
|
|
3. regisztrálja `mozdit-ci-01` néven, `ubuntu-latest:host` címkével;
|
|
4. systemd szolgáltatásként elindítja;
|
|
5. a regisztrációt a CI-host helyi `/opt/gitea-runner/.runner` fájljában tárolja.
|
|
|
|
A `:host` címke szándékos: a projekt CI-je Node-ot, Playwrightot és Docker Compose-t igényel. Ezek a dedikált CI-host eszközeivel futnak. Ez nem érinti a tervezett, Docker nélküli éles webalkalmazás-telepítést.
|
|
|
|
## Ellenőrzés és hibaelhárítás
|
|
|
|
```bash
|
|
sudo systemctl status gitea-act-runner
|
|
sudo journalctl -u gitea-act-runner -f
|
|
sudo -u gitea-runner docker ps
|
|
```
|
|
|
|
A Gitea `Settings → Actions → Runners` nézetében a runner állapota `Idle`. Ekkor a most várakozó CI-futás automatikusan elindul. A workflow `Run Tests & Generate Reports`, `Build Docker Image` és `Docker integration & API E2E` jobjai futni fognak; a staging Playwright smoke csak manuális vagy ütemezett futásnál indul.
|
|
|
|
## Egyedi értékek
|
|
|
|
Nem alapértelmezett név vagy útvonal esetén a telepítő környezeti változókkal paraméterezhető:
|
|
|
|
```bash
|
|
sudo RUNNER_NAME=mozdit-ci-02 RUNNER_HOME=/opt/mozdit-runner ./install-gitea-runner.sh
|
|
```
|
|
|
|
Az `INSTANCE_URL` és a `RUNNER_LABELS` csak akkor módosítandó, ha a Gitea cím vagy a workflow `runs-on` címkéje is megváltozik.
|