Sobes.tech
Junior

Runner ишке ашыруу үчүн кодду кайдан алат?

sobes.tech AI

AIден жооп

Runner kodu icra etmek üçün versiya nəzarət sisteminin deposundan götürür, adətən Git kimi protokol vasitəsilə. Konkret 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 depozitin URL-si, 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"
# Loyihanın kataloguna keç
cd "$CI_BUILDS_DIR/$CI_PROJECT_NAME"
# Lazımi commit-i yoxla
git checkout "$CI_COMMIT_SHA"

Bəzi hallarda, əgər 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).