Sobes.tech
Junior

Runner çalıştırmak için kodu nereden alır?

sobes.tech yapay zeka

AI'dan gelen yanıt

Runner, çalıştırmak üzere kodu sürüm kontrol sistemi deposundan alır, genellikle Git gibi bir protokol kullanılır. Belirli depo URL'si ve dal (veya etiket, commit), bu runner'ı başlatan pipeline konfigürasyonunda belirtilir.

Alım işlemi şu şekilde olabilir:

  1. Runner, CI/CD orkestratöründen bir görev yürütme komutu alır (örneğin, GitLab CI/CD, GitHub Actions, Jenkins).
  2. Komutla birlikte, görev hakkında bilgiler, depo bağlantısı, dal/commit ve yürütme bağlamı iletilir.
  3. Runner, deposunun (veya bir kısmının) klonlama işlemini yerel geçici çalışma alanına yapar.
  4. Başarılı bir klonlamadan sonra, runner belirtilen commit, dal veya etikete geçer ve doğru kod sürümüyle çalışmayı sağlar.

GitLab CI'de klonlama komutuna örnek:

# CI_REPOSITORY_URL değişkeninde belirtilen depoyu klonla
git clone "$CI_REPOSITORY_URL" "$CI_BUILDS_DIR/$CI_PROJECT_NAME"
# Proje dizinine geç
cd "$CI_BUILDS_DIR/$CI_PROJECT_NAME"
# Gerekli commit'e bak
git checkout "$CI_COMMIT_SHA"

Bazı durumlarda, önbellek varsa, runner önce yerel kopyanın olup olmadığını kontrol edebilir ve sadece git fetch ve git checkout yaparak durumu güncelleyebilir, tam klonlama yerine.

Kod kaynağını belirleyen yapılandırma genellikle pipeline'ı tanımlayan YAML dosyasında belirtilir (örneğin, .gitlab-ci.yml, .github/workflows/*.yml).