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.