Junior
Odkud runner získává kód k provedení?
sobes.tech AI
Odpověď od AI
Runner získává kód ke spuštění z repozitáře systému správy verzí, obvykle prostřednictvím protokolu jako Git. Konkrétní URL repozitáře a větev (nebo tag, commit) jsou uvedeny v konfiguraci pipeline, který spouští tohoto runnera.
Proces získávání může vypadat takto:
- Runner obdrží příkaz k vykonání úkolu od orchestrátora CI/CD (například GitLab CI/CD, GitHub Actions, Jenkins).
- Spolu s příkazem jsou předávány informace o úkolu, včetně odkazu na repozitář, větve/commitu a kontextu provádění.
- Runner provádí operaci klonování repozitáře (nebo jeho části) do svého dočasného místního pracovního prostoru.
- Po úspěšném klonování se runner přepne na specifikovaný commit, větev nebo tag, čímž zajistí práci s požadovanou verzí kódu.
Příklad příkazu klonování v GitLab CI:
# Klonování repozitáře uvedeného ve proměnné CI_REPOSITORY_URL
git clone "$CI_REPOSITORY_URL" "$CI_BUILDS_DIR/$CI_PROJECT_NAME"
# Přechod do adresáře projektu
cd "$CI_BUILDS_DIR/$CI_PROJECT_NAME"
# Kontrola požadovaného commitu
git checkout "$CI_COMMIT_SHA"
V některých případech, pokud je k dispozici cache, může runner nejprve zkontrolovat, zda existuje místní kopie repozitáře, a provést pouze git fetch a git checkout pro aktualizaci na požadovaný stav, místo úplného klonování.
Konfigurace, která určuje zdroj kódu, je obvykle uvedena v YAML souboru popisujícím pipeline (například .gitlab-ci.yml, .github/workflows/*.yml).