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:
- Runner CI/CD orkestratorundan vəzifəni yerinə yetirmək əmri alır (məsələn, GitLab CI/CD, GitHub Actions, Jenkins).
- Ə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.
- Runner depozitin (və ya onun bir hissəsinin) klonlama əməliyyatını müvəqqəti yerli iş sahəsinə həyata keçirir.
- 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 fetch və git 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).