Mire jó a gitea runner?
Tegyük fel a kérdést máshogy:
- használsz gitea szervert? Itt írtam róla.
- szeretnél CI/CD folyamatokat indítani?
Akkor szükséged lesz egy beállított gitea runnerre.
Hogyan kell telepíteni?
A honlapukon bemutatnak több módszert is, én a dockeres változatot használom, így ezt fogom bemutatni. Telepítheted bárhová, annyi a kikötés, hogy a kérdéses gépen fusson a docker, és lássa a gitea szervert.
Szóval, hozz létre egy mappát, pl ~/docker/gitea_runner
néven. Majd belépve hozz létre egy docker-compose.yml
nevű fájlt az alábbi tartalommal:
services:
gitea_runner:
container_name: gitea_runner
image: docker.io/gitea/act_runner
environment:
CONFIG_FILE: /config.yaml
GITEA_INSTANCE_URL: "http://192.168.5.213:3000/"
GITEA_RUNNER_REGISTRATION_TOKEN: "TOKEN"
GITEA_RUNNER_NAME: "lab"
GITEA_RUNNER_LABELS: "ubuntu-24.04:docker://gitea/runner-images:ubuntu-24.04"
volumes:
- ./config.yaml:/config.yaml
- ./data:/data
- /var/run/docker.sock:/var/run/docker.sock
Hozz létre egy config.yaml nevű fájlt az alábbi tartalommal:
log:
level: info
runner:
file: .runner
capacity: 1
envs:
A_TEST_ENV_NAME_1: a_test_env_value_1
A_TEST_ENV_NAME_2: a_test_env_value_2
env_file: .env
timeout: 3h
shutdown_timeout: 0s
insecure: false
fetch_timeout: 5s
fetch_interval: 2s
github_mirror: ''
labels:
- "ubuntu-24.04-full:docker://gitea/runner-images:ubuntu-24.04-full"
- "ubuntu-24.04:docker://gitea/runner-images:ubuntu-24.04"
- "ubuntu-24.04-slim:docker://gitea/runner-images:ubuntu-24.04-slim"
cache:
enabled: true
dir: ""
host: ""
port: 0
external_server: ""
container:
network: ""
privileged: false
options:
workdir_parent:
valid_volumes: []
docker_host: ""
force_pull: true
force_rebuild: false
require_docker: false
docker_timeout: 0s
host:
workdir_parent:
- adj neki nevet, most ugye „lab” néven fog létrejönni a runner (GITEA_RUNNER_NAME)
- természetesen a saját giteád URL-jét add meg (GITEA_INSTANCE_URL)
- generálj egy TOKENT, lépj be a giteádba, navigálj a Rendszergazdai felület -> Actions -> Runners almenüre:

Majd kattints a Create new Runner feliratú gombra (1), és másold ki a TOKENT (2):

Ezt a karaktersorozatot másold be a korábban létrehozott docker-compose.yml fájlba.
Most már el lehet indítani a konténert:
docker compose up -d
Ha mindent jól csináltál, akkor megjelenik a runnered a listában:

Ennyi az egész, ezzel végeztünk is!
Még egy apróságot azért megemlítek, az Actions/Runners menüpont alatt van egy Variables menüpont:

Ha itt hozzáadsz változókat, akkor azok globális változók lesznek, azaz minden repó által látható lesz!
Ha a repóhoz tartozó változót hozol létre, azt csak abban a repóban lehet felhasználni.
Hozzunk létre egy példa változót:

Ha egy yaml fájlban szeretnéd felhasználni ezt a változót, akkor így tudsz rá hivatkozni: ${{ vars.KOZOS }}
.
A változó nevek minden esetben nagybetűvel írandóak!
Ettől sokkal érdekesebbek a titkok (secrets)
Minden git repónál, ahol csináltál workflow-t, megjelenik a Beállítások -> Actions menüpont alatt a Secrets almenü:

Hozzunk létre egyet:

Mentés után (confirm):

Csillagokkal jelzi, hogy ott bizony érzékeny adat van elrejtve… Megpróbálhatod szerkeszteni, nem véletlenül írtam, hogy amit oda írsz, te sem fogod többé látni 🙂 Szerkesztéssel csak új értéket tudsz adni neki.
A yaml fájlokban így tudsz erre hivatkozni: ${{ secrets.TITOK }}
Ez nem kerül bele a git repóba, kizárólag a gitea adatbázisában lesz eltárolva. Itt is hiába írsz kisbetűvel nevet, minden esetben nagybetűssé fogja alakítani!