Junior
Odkiaľ runner získava kód na vykonanie?
sobes.tech AI
Odpoveď od AI
Runner získava kód na vykonanie z repozitára systému správy verzií, zvyčajne prostredníctvom protokolu ako Git. Konkrétna URL repozitára a vetva (alebo tag, commit) sú uvedené v konfigurácii pipeline, ktorý spúšťa tohto runnera.
Proces získavania môže vyzerať takto:
- Runner dostane príkaz na vykonanie úlohy od orchestrátora CI/CD (napríklad GitLab CI/CD, GitHub Actions, Jenkins).
- Spolu s príkazom sú prenášané informácie o úlohe, vrátane odkazu na repozitár, vetvy/commit a kontextu vykonávania.
- Runner vykoná operáciu klonovania repozitára (alebo jeho časti) do svojho dočasného lokálneho pracovného priestoru.
- Po úspešnom klonovaní sa runner prepne na špecifikovaný commit, vetvu alebo tag, čím zabezpečí prácu s požadovanou verziou kódu.
Príklad príkazu klonovania v GitLab CI:
# Klonovanie repozitára uvedeného v premennej CI_REPOSITORY_URL
git clone "$CI_REPOSITORY_URL" "$CI_BUILDS_DIR/$CI_PROJECT_NAME"
# Prechod do adresára projektu
cd "$CI_BUILDS_DIR/$CI_PROJECT_NAME"
# Kontrola požadovaného commitu
git checkout "$CI_COMMIT_SHA"
V niektorých prípadoch, ak je k dispozícii cache, môže runner najskôr skontrolovať, či existuje lokálna kópia repozitára, a vykonať iba git fetch a git checkout na aktualizáciu na požadovaný stav, namiesto úplného klonovania.
Konfigurácia, ktorá určuje zdroj kódu, je zvyčajne uvedená v YAML súbore, ktorý opisuje pipeline (napríklad .gitlab-ci.yml, .github/workflows/*.yml).