Sobes.tech
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]