Skip to main content
Runner, .gitlab-ci.yml dosyanızda yapılandırılan job’ları çalıştıran open source Golang uygulamasıdır. GitLab.com’da barındırılan projeler için GitLab tarafından host edilen runner’lar kullanılır. Ancak custom GitLab server’ınız varsa kendi datacenter’ınızda scalable runner’larınızı oluşturmanız gerekir. GitLab Flow Her runner bir sanal makine veya container’da çalışır. GitLab hosted runner’lar job tamamlandığında silinir ve hiçbir job aynı makinede çalışmaz.

Scope

Tanımlanabilecekleri üç farklı scope bulunur:
  • Instance: GitLab’inizdeki tüm projelerde kullanılabilir. Bu runner’lara shared runner denir. GitLab adminleri yönetir. Halihazırda shared runner’larda çalışan en az işe sahip olan proje queue’da önceliklendirilir.
  • Group: Belirli bir grubun altındaki projelerde kullanılabilir. Bu runner’lara group runner denir. Resource’u paylaşmak istiyorsanız veya birden fazla projenin pipeline’ını çalıştırmak istiyorsanız idealdir.
  • Project: Sadece belirli bir projede kullanılabilir. Bu runner’lara spesific runner denir.

Tag

Runner’lar tag’lar ile etiketlenebilir. Bu sayede .gitlab-ci.yml dosyasında job’lar tag’lar ile belirli runner’ları hedefleyebilir. Örneğin ruby çalıştırmak için optimize edilmiş bir runner oluşturabilirsiniz.
job:
  tags:
    - ruby

Executor

Job için çalıştırma ortamını tanımlar ve bağımlılıkları sağlar. GitLab, job’ları Runner’lar ile konfigürasyonlarına göre eşleştirir. En yaygın executor’lar:
  • Shell: Job’ları shell komutları ile çalıştırır. Komutlar GitLab Runner’ın kurulduğu makinede local olarak çalıştırılır.
  • Docker: Job’ları Docker container’larında çalıştırır.
For details, see GitLab Runner Executor.

config.toml

Runner’ın konfigürasyon dosyasıdır. Bu dosya ile runner’ın nasıl çalıştırılacağı, hangi executor’ın kullanılacağı, hangi tag’ların kullanılacağı gibi ayarlar tanımlanır.
# Global settings
concurrent = 4
log_level = "warning"

# Single runner detination
[[runners]]
  name = "runner-name"
  url = "https://gitlab.com/"
  token = "your-token"
  executor = "docker"
  [runners.docker]
    host = ""
  [runners.virtualbox]
    base_name = ""
  [runners.machine]
    IdleCount = 0
    IdleTime = 1800
  [runners.cache]
    type = "s3"
  [runners.kubernetes]
    cert_file = "/path/to/certfile"
For details, see GitLab Runner Configuration.

Create your own runner

Kendi runner’ınızı oluşturmak için ilk yapmanız gereken GitLab Runner’ı kurmanızdır.