Sobes.tech
Middle

GitLab Runner nasıl çalışır?

sobes.tech yapay zeka

AI'dan gelen yanıt

GitLab Runner, CI/CD görevlerini çalıştıran bir ajandır. API aracılığıyla GitLab CI/CD ile veri alışverişi yapar. GitLab'da bir olay gerçekleştiğinde ve bir pipeline başlatıldığında (örneğin, bir commit), GitLab bir istekte bulunur. Runner görevi alır, depoyu klonlar, .gitlab-ci.yml dosyasında tanımlanan komutları çalıştırır ve sonucu GitLab'a geri gönderir.

Çalışma ile ilgili temel noktalar:

  • Runner türleri: Paylaşılan, Özel, Grup. Görünürlük alanı ve projelere erişilebilirlik açısından farklılık gösterirler.
  • Executor (Çalıştırıcı): Görevlerin çalıştırılacağı ortamı belirler. Popüler çalıştırıcılar: shell, docker, kubernetes, virtualbox, ssh. Çalıştırıcı seçimi, izolasyon ve çalışma ortamını etkiler.
  • Kayıt: Runner, belirli bir token kullanarak GitLab'a kaydolur ve onu belirli bir örnek, grup veya projeye bağlar.
  • Polling (Sorgulama): Runner, yeni görevler için düzenli olarak GitLab'ı sorgular.
  • config.toml: Runner'ın ayarlarını belirleyen yapılandırma dosyasıdır, çalışma türü, paralel görev sayısı ve diğer parametreleri içerir.

config.toml yapısına örnek:

# küresel ayarlar
concurrent = 4

# runner ayarları
[[runners]]
  name = "my-docker-runner"
  url = "https://gitlab.com/"
  token = "YOUR_RUNNER_TOKEN"
  executor = "docker" # çalışma türü seçimi
  [runners.docker]
    tls_verify = false
    image = "ubuntu:latest" # docker çalıştırıcı kullanılırken görüntü
    privileged = false
    disable_entrypoint_overwrite = false
    oom_kill_disable = false
    disable_cache = false
    volumes = ["/cache"]
    shm_size = 0
  [runners.cache]
    [runners.cache.s3]
    [runners.cache.gcs]