VDS Server Kullanarak Private GitLab Runner Kurulumu

GitLab CI/CD süreçlerinde kullanılan GitLab Runner, kodlarınızın derlenmesi, test edilmesi ve dağıtılması gibi işlemleri otomatik hale getiren bir bileşendir. Kendi VDS sunucunuzda özel (private) bir GitLab Runner kurarak hem kaynaklarınızı daha verimli kullanabilir hem de dışa bağımlılığı ortadan kaldırabilirsiniz. Bu kurulum, özellikle yüksek güvenlik, özel yapılandırma ve yüksek performans gerektiren projelerde tercih edilir.


1. VDS Sunucusunun Hazırlanması

İlk olarak VDS sunucunuzun aşağıdaki minimum gereksinimleri karşılaması gerekir:

  • İşletim sistemi: Ubuntu 20.04+ veya CentOS 7+
  • En az 2 vCPU ve 2 GB RAM (daha büyük projeler için daha fazlası önerilir)
  • Root ya da sudo yetkili kullanıcı erişimi
  • GitLab’a outbound erişim

2. GitLab Runner’ın Kurulması

Ubuntu tabanlı sistemlerde aşağıdaki komutlarla kurulumu gerçekleştirebilirsiniz:

curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh | sudo bash
sudo apt-get install gitlab-runner -y

CentOS/RHEL için:

curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh | sudo bash
sudo yum install gitlab-runner -y

3. Runner’ın GitLab ile Kayıt Edilmesi

GitLab üzerinden bir proje ya da grup seviyesinde Runner kaydı başlatın:

  • GitLab arayüzünden: Settings > CI / CD > Runners > Expand bölümüne gidin.
  • Registration token kodunu alın.

VDS üzerinden şu komutla runner’ı kaydedin:

sudo gitlab-runner register

Aşağıdaki bilgileri sırayla girin:

  • GitLab URL: https://gitlab.com veya kendi GitLab sunucunuz
  • Token: Yukarıda aldığınız kayıt anahtarı
  • Runner description: Örneğin vds-runner
  • Tags: Örneğin build,test
  • Executor: shell, docker, docker+machine, kubernetes (örnek: docker önerilir)

4. Docker Destekli Executor Kullanımı (Opsiyonel ama önerilir)

VDS’inizde Docker yüklü değilse kurun:

sudo apt install docker.io -y
sudo usermod -aG docker gitlab-runner
sudo systemctl restart gitlab-runner

Docker üzerinden izolasyon sağlayarak her pipeline’ı temiz bir ortamda çalıştırabilirsiniz.


5. YAML Dosyasının Hazırlanması

Proje kök dizinine .gitlab-ci.yml dosyası ekleyin. Örnek bir yapı:

stages:
- build
- test

build_job:
stage: build
script:
- echo "Derleme aşaması"

test_job:
stage: test
script:
- echo "Testler çalıştırılıyor"

6. Otomatik Başlatma ve İzleme

Runner’ı servis olarak başlatın:

sudo systemctl enable gitlab-runner
sudo systemctl start gitlab-runner

Durumu kontrol etmek için:

sudo gitlab-runner status

7. Güvenlik ve İzolasyon Önerileri

  • Her runner için farklı tag tanımlayarak proje bazlı izole çalıştırma sağlanabilir.
  • Runner üzerinde rate limit, timeout ve CPU/memory sınırlandırmaları tanımlanmalıdır.
  • protected runner olarak işaretlenerek sadece güvenli branch’lerde çalışması sağlanabilir.

Sonuç

VDS sunucuda private GitLab Runner kurmak, kendi kaynaklarınız üzerinde CI/CD süreçlerini yönetmenizi sağlar. Özellikle özel projelerde daha fazla güvenlik, performans ve esneklik sunar. Docker kullanımı ile süreçler izole edilerek daha temiz ve güvenilir sonuçlar alınabilir.

Vps.com.tr