Middle
Hogyan működik a GitLab Runner?
sobes.tech MI
Válasz az MI-től
GitLab Runner egy ügynök, amely CI/CD feladatokat hajt végre. API-n keresztül cserél adatokat a GitLab CI/CD-vel. Amikor a GitLabban esemény történik, amely elindít egy pipeline-t (például egy commit), a GitLab kérvényt küld a runnernek. A runner megkapja a feladatot, klónozza a repository-t, végrehajtja a .gitlab-ci.yml-ben leírt parancsokat, és visszaküldi az eredményt a GitLabnak.
A működés kulcsfontosságú aspektusai:
- Runner típusok: Shared, Specific, Group. Különböznek láthatóságukban és a projektekhez való hozzáférésükben.
- Executor (Végrehajtó): Meghatározza a környezetet, ahol a feladatokat végrehajtják. Népszerű végrehajtók:
shell,docker,kubernetes,virtualbox,ssh. A végrehajtó kiválasztása befolyásolja az izolációt és a végrehajtási környezetet. - Regisztráció: A runner regisztrálódik a GitLabba egy token segítségével, összekapcsolva egy adott példánnyal, csoporttal vagy projekttel.
- Polling (Lekérdezés): A runner időszakosan kérdezi a GitLabot új feladatokért.
config.toml: Konfigurációs fájl, amely meghatározza a runner beállításait, beleértve a végrehajtó típusát, a párhuzamos feladatok számát és más paramétereket.
Példa a config.toml szerkezetére:
# globális beállítások
concurrent = 4
# runner beállítások
[[runners]]
name = "my-docker-runner"
url = "https://gitlab.com/"
token = "YOUR_RUNNER_TOKEN"
executor = "docker" # kiválasztott végrehajtó
[runners.docker]
tls_verify = false
image = "ubuntu:latest" # kép a docker végrehajtó használatakor
privileged = false
disable_entrypoint_overwrite = false
oom_kill_disable = false
disable_cache = false
volumes = ["/cache"]
shm_size = 0
[runners.cache]
[runners.cache.s3]
[runners.cache.gcs]