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.