Sobes.tech
Junior

Runner icra üçün kodu haradan alır?

sobes.tech Süni İntellekt

AI-dan cavab

Runner kodu icra etmək üçün versiya nəzarət sisteminin deposundan götürür, adətən Git kimi protokol vasitəsilə. Müəyyən URL deposu və filial (və ya etiket, commit) bu runner-i işə salan pipeline konfiqurasiyasında göstərilir.

Əldə etmə prosesi aşağıdakı kimi ola bilər:

  1. Runner CI/CD orkestratorundan vəzifəni yerinə yetirmək əmri alır (məsələn, GitLab CI/CD, GitHub Actions, Jenkins).
  2. Əmrlə birlikdə vəzifə haqqında məlumatlar, o cümlədən depozitə keçid, filial/commit və icra konteksti ötürülür.
  3. Runner depozitin (və ya onun bir hissəsinin) klonlama əməliyyatını müvəqqəti yerli iş sahəsinə həyata keçirir.
  4. Uğurlu klonlamadan sonra, runner göstərilən commit, filial və ya etikete keçir və düzgün kod versiyası ilə işləməyə təminat verir.

GitLab CI-də klonlama əmri nümunəsi:

# CI_REPOSITORY_URL dəyişənində göstərilən depoziti klonlayır
git clone "$CI_REPOSITORY_URL" "$CI_BUILDS_DIR/$CI_PROJECT_NAME"
# Layihə qovluğuna keç
cd "$CI_BUILDS_DIR/$CI_PROJECT_NAME"
# Lazımi commit-i yoxla
git checkout "$CI_COMMIT_SHA"

Bəzi hallarda, keşikdə saxlama mövcuddursa, runner əvvəlcə yerli nüsxənin olub-olmadığını yoxlaya bilər və yalnız git fetchgit checkout əmrlərini yerinə yetirərək vəziyyəti yeniləyə bilər, tam klonlama yerinə.

Kod mənbəyini müəyyən edən konfiqurasiya adətən YAML faylında göstərilir və pipeline-i təsvir edir (məsələn, .gitlab-ci.yml, .github/workflows/*.yml).