Kısa yanıt
Bir GitLab Runner veya bir CI/CD pipeline için hangi VPS'e ihtiyacım var?
Bir GitLab Runner VPS'i, aynı anda çalışan her CI job'u için yaklaşık 2 ayrılmış vCPU gerektirir: Cobaltfell üzerinde Fell 2 bir job, Fell 4 iki ve Fell 8 dört job alır. GitLab'in varsayılan barındırılan Linux runner'ı 2 vCPU ve 8 GB RAM'e sahiptir (2 Kasım 2026'da kontrol edildi), bu nedenle aynı vCPU sayısına sahip bir Cobaltfell planı bunun yarısı kadar belleğe sahiptir ve bellek açlığı çeken derlemeler bir üst boyutu gerektirir.
Bir VPS aynı anda kaç CI job'u çalıştırabilir?
Bir CI job'u iki ayrılmış vCPU ve bunlarla gelen RAM'i gerektirir; runner'ın concurrent ayarı bu tür job'ların VPS'i kaç tanesinin paylaşacağını belirler. config.toml içinde, concurrent job'ları kayıtlı tüm runner'lar genelinde sınırlar ve limit bunları tek bir kayıtlı runner için sınırlar (0, varsayılan, sınırsız anlamına gelir). GitLab'in gereksinimler sayfası boyutlandırma için üç girdi belirtir: job'ların CPU yükü, bellek kullanımları ve kaç tanesinin eşzamanlı çalıştığı.
| Plan | vCPU | RAM | eşzamanlı | Uygun |
|---|---|---|---|---|
| Fell 2 | 2 | 4 GB | 1 | Aynı anda tek pipeline: kişisel bir proje ya da saatte birkaç kez push yapan bir ekip |
| Fell 4 | 4 | 8 GB | 2 | Aynı anda iki kısa job ya da dört iş parçacığında tek bir uzun derleme |
| Fell 8 | 8 | 16 GB | 4 | İki vCPU'lu dört job ya da dört vCPU'lu iki job |
| Fell 16 | 16 | 32 GB | 4 ila 8 | Merge request'leri aynı anda birkaç pipeline başlatan bir ekip |
GitLab'in barındırılan runner boyutları bir VPS ile nasıl karşılaştırılır?
GitLab'in barındırılan Linux runner'ları vCPU başına 4 GB RAM verir; Cobaltfell planları vCPU başına 2 GB verir. vCPU sayıları bire bir örtüşür, bu da tabloyu hâlihazırda GitLab.com üzerinde çalışan pipeline'lar için boyut seçmenin doğrudan bir yolu yapar. Mevcut makinelerinin belleğinin çoğunu kullanan job'lar bir üst boyuttaki Cobaltfell planını ya da aynı anda daha az job'u gerektirir.
Cobaltfell'in 2 Kasım 2026 tarihli araştırmasına göre, 2022 veya sonrası bir işlemcideki bir ayrılmış vCPU, kimlik kontrolü yapmadan kripto kabul eden host'larda aylık medyan $8.20 tutarındaydı, yani iki vCPU'lu her paralel CI job'u bunun yaklaşık iki katına mal olur.
Bu medyanın arkasındaki her host ve fiyat Kasım 2026'da ayrılmış bir CPU VPS'in çekirdek başına ne kadar tuttuğu yazısında.
| GitLab tarafından barındırılan makine türü | vCPU | RAM | Disk | Aynı vCPU'ya sahip VPS planı | RAM'i ve NVMe'si |
|---|---|---|---|---|---|
| saas-linux-small-amd64 (varsayılan) | 2 | 8 GB | 30 GB | Fell 2 | 4 GB, 80 GB NVMe |
| saas-linux-medium-amd64 | 4 | 16 GB | 50 GB | Fell 4 | 8 GB, 160 GB NVMe |
| saas-linux-large-amd64 (Premium ve Ultimate) | 8 | 32 GB | 100 GB | Fell 8 | 16 GB, 320 GB NVMe |
| saas-linux-xlarge-amd64 (Premium ve Ultimate) | 16 | 64 GB | 200 GB | Fell 16 | 32 GB, 640 GB NVMe |
Fiyatlar tarihinde kontrol edildi
CI ve derleme job'ları için ayrılmış çekirdekler neden önemlidir?
Bir derleme CPU'yu dakikalarca tam yükte tutar; paylaşımlı VPS planlarının sınırlamak üzere yazıldığı tam da bu örüntüdür. Aynı araştırmadaki iki host bunu kurallarına koymuş: Spartan Host'un şartları, ayrılan çekirdeklerin %50'sinden fazlasının bir saatten uzun süre kullanılmasını yasaklıyor ve Advin Servers'ın adil kullanım politikası CPU kullanımını %75 ile sınırlıyor.
Paylaşımlı bir vCPU'da maliyet steal time olarak da ortaya çıkar. Sakin bir gecede hızlı olan bir pipeline yoğun saatlerde uzar ve job zaman aşımları kodla ilgisiz nedenlerle tetiklenir; CPU steal time nedir ve bir VPS'te nasıl kontrol edilir bunun nasıl okunacağını gösterir.
Cobaltfell'de: İşiniz gerektirdiği süre boyunca tam yük serbesttir: CPU kredisi yok, ani yük penceresi yok ve %100'de birkaç dakika geçtikten sonra kısıtlama yok. Bir vCPU, ana makine işlemcisinin bir donanım iş parçacığıdır. Sizinkiler VPS'nize bire bir sabitlenir ve başka bir müşteriye asla ödünç verilmez; fiziksel bir çekirdeğin iki iş parçacığı bir arada kalır, böylece her 2 vCPU, hiçbir komşunun paylaşmadığı tam bir çekirdek oluşturur. İş parçacıklarında komşu olmadığında, önbelleği ısınmış bir pipeline her çalıştırmada yaklaşık aynı süreyi alır, böylece yavaş bir job kodu işaret eder. vCPU-çekirdek kuralının nasıl işlediği ayrılmış bir vCPU bir çekirdek midir yoksa bir iş parçacığı mı yazısında açıklanmıştır.
Paralel derlemelerin aynı vCPU için çekişmesini nasıl durdururum?
Her job'a VPS'in sabit bir payını verin ve aynı sayıyı derleme aracına da iletin. Derleme araçları varsayılanlar konusunda anlaşamaz. GNU make, -j verilmediği sürece aynı anda tek bir tarif çalıştırır. Cargo, mantıksal CPU sayısı kadar job çalıştırır. Ninja, sorulmadan CPU sayısına göre paralel çalışır. Fell 8 üzerindeki bu tür dört derlemenin her biri sekiz derleyici başlatırdı: 8 iş parçacığı ve 16 GB RAM için 32 süreç.
Docker executor ile her job kendi container'ında çalışır ve [runners.docker] bu container için bir cpus ve bir memory limiti alır. İkisini de ayarlayın, sonra job içindeki paralelliği eşleştirin:
concurrent = 4 # jobs at once, all runners together
check_interval = 3
[[runners]]
name = "fell-8-docker"
url = "https://gitlab.com"
token = "REPLACE_WITH_YOUR_RUNNER_TOKEN"
executor = "docker"
limit = 4
[runners.docker]
image = "debian:13"
cpus = "2" # CPUs for each job container
memory = "3g" # leaves room for the system and Dockervariables:
MAKEFLAGS: "-j2" # GNU make
CARGO_BUILD_JOBS: "2" # cargo (build.jobs)
build:
script:
- make
- cargo build --release
- ninja -C build -j 2Rust veya C++ derlemek bir VPS'te ne gerektirir?
Derlemeler iş parçacığı ve belleği birlikte ister: her paralel derleyici süreci ve her link adımı RAM'den kendi payını alır. Büyük C++ çeviri birimleri ve ağır generic'lere sahip Rust crate'leri olağan bellek zirveleridir ve büyük bir ikili dosyanın son link adımı tek bir derlemenin herhangi birinden daha fazlasını gerektirebilir.
Bellek yetersizliğinden öldürülen bir derleme daha fazla vCPU değil, daha düşük bir -j veya CARGO_BUILD_JOBS gerektirir: daha az job biter, daha çok job çöker. Derleme önbelleklerini VPS'in kendi diskinde tutun (Her planda NVMe depolama) ve eski imajları docker image prune ile temizleyin, çünkü yoğun bir runner bir diski pipeline'larının ima ettiğinden daha hızlı doldurur.
Derleme başına onlarca gigabayt RAM gerektiren bir monorepo, Cobaltfell'in satmadığı bare-metal alanıdır. Veritabanı destekli test paketlerinin kendi boyutlandırma kuralları vardır; bu kurallar PostgreSQL bir VPS'te ne kadar CPU ve RAM gerektirir yazısında ele alınmıştır.
Bir VPS üzerindeki runner hangi executor'ı kullanmalı?
Docker executor doğru varsayılandır: GitLab'in executor kılavuzu, her derlemeye temiz ve yalıtılmış bir ortam verdiğini, Shell executor'ın ise ne derleme başına temiz bir ortam ne de runner'ın dosya sisteminin korunmasını sunduğunu söyler. Shell, SSH ve VirtualBox executor'ları bakım modundadır.
Bir job'u kimin başlatabileceği de aynı derecede önemlidir: bir fork'tan gelen merge request kendi kodunu VPS üzerinde çalıştırır. GitHub'ın güvenlik kılavuzu, self-hosted runner'ların neredeyse hiçbir zaman herkese açık depolarda kullanılmaması gerektiğini söyler ve aynı mantık güvenilmeyen pull request'leri çalıştıran her CI sistemi için geçerlidir.
Forgejo, Woodpecker, Jenkins ve GitHub Actions agent'ları da aynı şekilde boyutlandırılır: çakışan job'ları sayın, her birine sabit iş parçacığı ve bellek verin. Her boyut için plan fiyatları ayrılmış çekirdekli bir VPS ne kadar tutar altında listelenmiştir.
İnsanların bir VPS üzerindeki CI runner'lar hakkında sorduğu başka hangi sorular var?
Bir Cobaltfell VPS'i GitHub Actions self-hosted runner'larını çalıştırabilir mi?
Evet. Herhangi bir Linux runner agent'ı çalışır: Yalnızca Linux imajları: Debian, Ubuntu, AlmaLinux ve Rocky Linux. Windows sunulmaz. Bir GitLab Runner gibi, çakışan job başına yaklaşık iki vCPU olacak şekilde boyutlandırın ve yabancıların pull request açabildiği herkese açık depolardan uzak tutun.
Bir saat boyunca %100 CPU'da olan bir derleme kısıtlanır mı?
Cobaltfell'de hayır. İşiniz gerektirdiği süre boyunca tam yük serbesttir: CPU kredisi yok, ani yük penceresi yok ve %100'de birkaç dakika geçtikten sonra kısıtlama yok. Yasaklanan tek CPU ağırlıklı kullanım: Herhangi bir kripto para birimini madencilik yapmak, hiçbir planda ve hiçbir yazılımla izin verilmez. Derleme, kodlama, çıkarım veya veritabanları gibi kendi ağır CPU işleriniz tam yükte çalışabilir ve yalnızca bir blokzincirini doğrulayan bir düğüm madencilik sayılmaz.
GitLab Runner Docker gerektirir mi?
Hayır, Shell executor job'ları doğrudan VPS üzerinde çalıştırır. GitLab, derleme başına temiz bir ortam sunmadığını ve bakım modunda olduğunu belirtir, bu nedenle elle root olarak çalıştırmayacağınız her şey için Docker daha iyi varsayılandır.
GitLab'in kendisi runner ile aynı VPS üzerinde çalışmalı mı?
Hayır. GitLab ve runner'ı aynı thread'ler ve bellek için yarışır; ağır bir pipeline ise onu izlemek için kullanılan web arayüzünü yavaşlatır. Bir runner kendi VPS'inde olmalıdır.
Her planda bir pipeline ne kadar hızlı?
Henüz hiçbir süre yayınlanmadı. Kendi YABS ve Geekbench 6 sonuçlarımız, ölçtüğümüz steal time ile birlikte, ilk test makinemiz teslim edildiğinde tarihiyle yayımlanacaktır. O zamana kadar kendimize ait hiçbir performans değeri vermiyoruz. Seçilen planda aynı pipeline'ı iki kez çalıştırın ve önbelleği ısınmış ikinci süreyi referans olarak alın.
Kaynaklar (10)
- GitLab Runner gelişmiş yapılandırması (concurrent, limit, [runners.docker]) — GitLab (checked 2026-11-02)
- GitLab Runner sistem gereksinimleri — GitLab (checked 2026-11-02)
- Linux üzerinde GitLab tarafından barındırılan runner'lar: makine türleri — GitLab (checked 2026-11-02)
- GitLab Runner executor'ları — GitLab (checked 2026-11-02)
- GNU make kılavuzu: paralel çalıştırma — GNU Project (checked 2026-11-02)
- cargo build: --jobs seçeneği — The Rust Project (checked 2026-11-02)
- Ninja derleme sisteminin kılavuzu — Ninja (checked 2026-11-02)
- Güvenli kullanım referansı: kendi barındırdığınız runner'lar — GitHub (checked 2026-11-02)
- Spartan Host hizmet koşulları spartanhost.org/tos — Spartan Host (checked 2026-11-02)
- Advin Servers adil kullanım politikası docs.advinservers.com/policies/fair-use — Advin Servers (checked 2026-11-02)