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:
- 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 depozitin URL-si, 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"
# 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 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).