Geliştirme ve CI/CD için VPS: neler önemli
Derleme ve testler için kendi sunucunuz, GitHub Actions veya GitLab CI'daki ücretsiz dakikalar yetmemeye başladığı anda kendini amorti eder. Kendi runner'ınızda süre sınırı yoktur, bağımlılık ve Docker imajı önbellekleri üzerinde kalır; yani tekrarlanan derlemeler kat kat hızlı geçer. Aynı VPS'i uzak çalışma ortamı veya test ortamı olarak da rahatça kullanabilirsiniz.
Çekirdek ve bellek: derleme çok ister ama kısa süreliğine
Derleme, frontend build ve test çalıştırma çekirdeklere paralel dağılır; bu yüzden runner için çekirdek sayısı bir web sunucusuna göre daha önemlidir. Yaklaşık değerler:
- 2 çekirdek ve 4 GB — Node.js, Python veya PHP ile küçük projeler, linter'lar ve birim testleri;
- 4 çekirdek ve 8 GB — Docker imajı derleme, Webpack veya Vite ile frontend, veritabanlı entegrasyon testleri;
- 8 çekirdek ve 16 GB — Go, Rust, Java veya C++ derleme, Android build'leri, paralel işler.
Günde az sayıda derleme yapıyorsanız sunucu zamanının çoğunda boşta durur. Burada saatlik ödeme işe yarar: güçlü bir sunucu çalışma süresince açılır ve sonra silinir, siz de yalnızca saatler için ödersiniz. Pek çok sağlayıcı bunu API üzerinden yapmaya izin verir, böylece runner otomatik olarak açılabilir.
Disk: önbellekler sandığınızdan fazla yer kaplar
Docker imajları, npm, pip, Maven veya Gradle önbelleği ve derleme çıktıları hızla onlarca gigabayta ulaşır. En az 50–80 GB NVMe alın ve temizliği ayarlayın: zamanlanmış docker system prune ve çıktılar için saklama süresi sınırı. Disk hızı bağımlılıkların kurulma süresini doğrudan etkiler — yavaş bir diskte bu, derlemenin kendisinden uzun sürebilir.
Runner nasıl bağlanır
- GitHub Actions — self-hosted runner, depo veya organizasyon ayarlarından tek komutla kurulur ve servis olarak çalışır.
- GitLab CI — Docker yürütücülü
gitlab-runner: her iş temiz bir konteynerde çalışır, imajlar sunucuda önbelleğe alınır. - Gitea, Forgejo, Woodpecker, Drone — deponun kendisini de kendi sunucunuzda tutuyorsanız hafif alternatifler; ayrıca bkz. GitLab için VPS.
Sanallaştırma ve güvenlik
Docker derlemeleri için KVM gerekir: konteyner tabanlı sanallaştırmada Docker çoğu zaman başlamaz veya kısıtlamalarla çalışır (ayrıntılar Docker için VPS sayfasında). Self-hosted runner'ı herkese açık depolara bağlamayın: yabancı bir pull request sunucunuzda istediği kodu çalıştırabilir. Gizli bilgileri diskte tutmak yerine CI değişkenleriyle aktarın ve runner'ı sistemle birlikte güncelleyin.
Nerede barındırmalı
Git barındırma hizmetinize ve imaj kayıt defterinize yakın bir sunucu bağımlılıkları daha hızlı indirir. GitHub ve Docker Hub için Avrupa ve ABD'deki sunucular uygundur; bazı kayıt defterleri indirme hızını sınırlayabilir, bu yüzden aynaları veya proxy önbelleğini önceden ayarlayın.