Sobes.tech
Junior

GitLab CI'de runner pipeline'ı ne üzerinde çalıştırır?

sobes.tech yapay zeka

AI'dan gelen yanıt

GitLab Runner, pipeline görevlerinizi çalıştıran bir ajandır. Runner çeşitli platformlarda çalıştırılabilir:

  • Sanal makine veya fiziksel sunucu: Ortam üzerinde tam kontrol sağlayan geleneksel yöntem.
  • Konteynerler (Docker): Her görevi izole ve standart bir ortamda çalıştırmaya olanak tanır. En popüler yöntem budur.
  • Kubernetes: GitLab Runner, Kubernetes için bir yürütücü (executor) sağlar ve her görevi ayrı bir podda çalıştırır.
  • Bulut sağlayıcıları: Bazı bulut sağlayıcılar, Runner olarak kullanılabilecek konteynerler veya sanal makineleri çalıştırmak için hizmetler sunar.
  • macOS / Windows: Bu işletim sistemlerinde runner çalıştırmak, belirli projeleri derlemek için mümkündür.

Runner yapılandırılırken, görevlerin nasıl yürütüleceğini belirleyen "executor" belirtilir. En yaygın olanlar: docker, shell, kubernetes.

Docker executor kullanılarak .gitlab-ci.yml dosyasında bir runner tanımı örneği:

stages:
  - build

build_job:
  stage: build
  script:
    - echo "Projeyi deriyor..."

Bu örnekte, build_job görevi, docker executor ile yapılandırılmış bir runner üzerinde çalışacaktır. GitLab Runner, bu görevi alır ve onu yeni bir Docker konteynerinde çalıştırır, yapılandırmadaki veya .gitlab-ci.yml içindeki (eğer image belirtilmişse) Docker imajını kullanarak.