Junior
Na čom beží runner pipeline v GitLab CI?
sobes.tech AI
Odpoveď od AI
GitLab Runner je agent, ktorý vykonáva vaše pipeline úlohy. Runner môže byť spustený na rôznych platformách:
- Virtuálna stroj alebo fyzický server: Tradičný spôsob, ktorý umožňuje úplnú kontrolu nad prostredím.
- Kontajnery (Docker): Umožňuje spúšťať každú úlohu v izolovanom, štandardizovanom prostredí. Toto je najpopulárnejší spôsob.
- Kubernetes: GitLab Runner má vykonávateľa (executor) pre Kubernetes, ktorý spúšťa každú úlohu v samostatnom podu.
- Cloudoví poskytovatelia: Niektorí poskytovatelia cloudových služieb ponúkajú služby na spúšťanie kontajnerov alebo virtuálnych strojov, ktoré môžu byť použité ako Runner.
- macOS / Windows: Je možné spustiť runner na týchto operačných systémoch na zostavovanie špecifických projektov.
Pri nastavovaní runnera sa špecifikuje "executor", ktorý určuje, ako budú úlohy vykonávané. Najčastejšie sú: docker, shell, kubernetes.
Príklad definície runnera v súbore .gitlab-ci.yml s použitím docker executor:
stages:
- build
build_job:
stage: build
script:
- echo "Stavba projektu..."
V tomto príklade bude úloha build_job vykonaná na runneri, ktorý má nakonfigurovaný docker executor. GitLab Runner dostane túto úlohu a spustí ju v novom Docker konteineri, s použitím Docker obrazu špecifikovaného v konfigurácii runnera alebo v samotnom .gitlab-ci.yml (ak je uvedený image).