Quick answer
GitLab Runner या CI/CD pipeline के लिए मुझे कौन-सा VPS चाहिए?
GitLab Runner VPS को एक साथ चलने वाले हर CI job के लिए लगभग 2 समर्पित vCPU चाहिए: Cobaltfell पर, Fell 2 एक job लेता है, Fell 4 दो और Fell 8 चार। GitLab के डिफ़ॉल्ट होस्टेड Linux runner में 2 vCPU और 8 GB RAM है (2 November 2026 को जाँचा गया), इसलिए उतने ही vCPU वाले Cobaltfell प्लान में उसकी आधी memory है, और memory-भारी builds को अगला साइज़ चाहिए।
एक VPS एक साथ कितने CI job चला सकता है?
एक CI job को दो समर्पित vCPU और उनके साथ आने वाली RAM चाहिए; runner की concurrent सेटिंग तय करती है कि ऐसे कितने job VPS साझा करेंगे। config.toml में, concurrent सभी registered runners में job सीमित करता है, और limit एक registered runner के लिए उन्हें सीमित करता है (0, जो डिफ़ॉल्ट है, का मतलब कोई सीमा नहीं)। GitLab का requirements पेज तीन इनपुट बताता है जिनसे साइज़ तय करें: job का CPU load, उनका memory उपयोग और एक साथ कितने चलते हैं।
| प्लान | vCPU | RAM | concurrent | फ़िट |
|---|---|---|---|---|
| Fell 2 | 2 | 4 GB | 1 | एक बार में एक pipeline: एक personal project या ऐसी टीम जो घंटे में कुछ बार push करती है |
| Fell 4 | 4 | 8 GB | 2 | एक साथ दो छोटे job, या चार threads पर एक लंबा build |
| Fell 8 | 8 | 16 GB | 4 | दो vCPU के चार job, या चार vCPU के दो |
| Fell 16 | 16 | 32 GB | 4 से 8 | ऐसी टीम जिसके merge requests एक साथ कई pipelines शुरू करते हैं |
GitLab के होस्टेड runner साइज़ VPS से कैसे तुलना करते हैं?
GitLab के होस्टेड Linux runners प्रति vCPU 4 GB RAM देते हैं; Cobaltfell प्लान प्रति vCPU 2 GB देते हैं। vCPU की संख्या एक-के-बदले-एक मिलती है, जिससे यह टेबल उन pipelines के लिए साइज़ चुनने का सीधा तरीका बन जाती है जो पहले से GitLab.com पर चलते हैं। जो job अपनी वर्तमान मशीन की ज़्यादातर memory उपयोग करते हैं, उन्हें एक साइज़ ऊपर का Cobaltfell प्लान चाहिए, या एक बार में कम job।
2 November 2026 के Cobaltfell सर्वे के अनुसार, 2022 या बाद के processor पर एक समर्पित vCPU की मासिक लागत उन hosts पर औसतन $8.20 थी जो बिना ID जाँच के crypto लेते हैं, इसलिए दो vCPU के हर समानांतर CI job की लागत लगभग उससे दोगुनी है।
उस औसत के पीछे का हर host और कीमत नवंबर 2026 में प्रति core एक समर्पित CPU VPS की लागत] में है।
| GitLab-hosted मशीन प्रकार | vCPU | RAM | Disk | समान vCPU वाला VPS प्लान | उसकी RAM और NVMe |
|---|---|---|---|---|---|
| saas-linux-small-amd64 (डिफ़ॉल्ट) | 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 और Ultimate) | 8 | 32 GB | 100 GB | Fell 8 | 16 GB, 320 GB NVMe |
| saas-linux-xlarge-amd64 (Premium और Ultimate) | 16 | 64 GB | 200 GB | Fell 16 | 32 GB, 640 GB NVMe |
कीमतें को जाँची गईं
CI और compile job के लिए समर्पित cores क्यों मायने रखते हैं?
एक build CPU को मिनटों तक पूरे load पर रखता है, ठीक वही पैटर्न जिसे सीमित करने के लिए shared VPS प्लान लिखे जाते हैं। उसी सर्वे के दो hosts इसे अपने नियमों में लिखते हैं: Spartan Host की शर्तें आवंटित cores के 50% से ज़्यादा एक घंटे से अधिक उपयोग करने की मनाही करती हैं, और Advin Servers की fair-use policy CPU उपयोग को 75% पर सीमित करती है।
shared vCPU पर लागत steal time के रूप में भी दिखती है। जो pipeline शांत रात में तेज़ होती है वह peak hours में खिंच जाती है, और job timeouts ऐसे कारणों से फ़ायर होते हैं जिनका code से कोई संबंध नहीं; CPU steal time क्या है और VPS पर इसे कैसे जाँचें दिखाता है कि इसे कैसे पढ़ें।
Cobaltfell पर: जब तक आपके काम को ज़रूरत हो, पूरा load चलाने की अनुमति है: कोई CPU credit नहीं, कोई burst window नहीं और 100% पर कुछ मिनट बाद कोई throttling नहीं। एक vCPU होस्ट प्रोसेसर का एक हार्डवेयर थ्रेड है। आपके थ्रेड आपके VPS से एक-से-एक पिन किए जाते हैं और कभी किसी दूसरे ग्राहक को नहीं दिए जाते, और एक फ़िज़िकल कोर के दोनों थ्रेड साथ ही रहते हैं, इसलिए हर 2 vCPU एक पूरा कोर बनाते हैं जिसे कोई पड़ोसी साझा नहीं करता। threads पर कोई neighbour न होने से, cache-वार्म pipeline हर बार लगभग उतना ही समय लेती है, इसलिए धीमा job code की ओर इशारा करता है। vCPU-to-core नियम कैसे काम करता है, यह क्या समर्पित vCPU एक core है या thread] में समझाया गया है।
मैं कैसे रोकूँ कि समानांतर builds एक ही vCPU पर लड़ें?
हर job को VPS का तय हिस्सा दें और वही संख्या build tool को भी दें। Build tools के डिफ़ॉल्ट अलग-अलग हैं। GNU make एक बार में एक recipe चलाता है जब तक -j न दिया जाए। Cargo उतने ही job चलाता है जितने logical CPU हैं। Ninja बिना कहे CPU संख्या के आधार पर समानांतर चलता है। Fell 8 पर ऐसे चार builds में से हर एक आठ compilers शुरू करेगा: 8 threads और 16 GB RAM के लिए 32 processes।
Docker executor के साथ, हर job अपने container में चलता है, और [runners.docker] उस container के लिए cpus और memory सीमा लेता है। दोनों सेट करें, फिर job के अंदर parallelism मिलाएँ:
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 Docker.gitlab-ci.yml में parallelism मिलानाvariables:
MAKEFLAGS: "-j2" # GNU make
CARGO_BUILD_JOBS: "2" # cargo (build.jobs)
build:
script:
- make
- cargo build --release
- ninja -C build -j 2Rust या C++ compile करने के लिए VPS पर क्या चाहिए?
Compiles को threads और memory साथ-साथ चाहिए: हर समानांतर compiler process और हर link step RAM का अपना हिस्सा लेता है। बड़े C++ translation units और heavy generics वाले Rust crates आमतौर पर memory peaks हैं, और बड़े binary का अंतिम link किसी भी एक compile से ज़्यादा माँग सकता है।
memory की कमी से मारा गया build कम -j या CARGO_BUILD_JOBS चाहता है, ज़्यादा vCPU नहीं: कम job पूरे होंगे, ज़्यादा job crash होंगे। Build caches VPS की अपनी disk (हर प्लान पर NVMe storage) पर रखें और पुरानी images docker image prune से हटाएँ, क्योंकि व्यस्त runner pipeline के संकेत से तेज़ी से disk भरता है।
जिस monorepo को प्रति build कई दसियों gigabytes RAM चाहिए वह bare-metal का क्षेत्र है, जो Cobaltfell नहीं बेचता। Database-backed test suites के अपने sizing नियम हैं, जो VPS पर PostgreSQL को कितना CPU और RAM चाहिए] में बताए गए हैं।
VPS पर runner को कौन सा executor उपयोग करना चाहिए?
Docker executor सही डिफ़ॉल्ट है: GitLab की executor गाइड कहती है कि यह हर build को साफ़, अलग वातावरण देता है, जबकि Shell executor न तो प्रति build साफ़ वातावरण देता है और न ही runner के file system की सुरक्षा। Shell, SSH और VirtualBox executors maintenance mode में हैं।
कौन job शुरू कर सकता है, यह भी उतना ही मायने रखता है: किसी fork से आया merge request VPS पर उसका अपना code चलाता है। GitHub की security गाइड कहती है कि self-hosted runners का उपयोग public repositories के लिए लगभग कभी नहीं करना चाहिए, और यही तर्क किसी भी CI system पर लागू होता है जो untrusted pull requests चलाता है।
Forgejo, Woodpecker, Jenkins और GitHub Actions agents का साइज़ उसी तरह तय करें: overlapping jobs गिनें, हर एक को तय threads और memory दें। हर साइज़ की प्लान कीमतें समर्पित-core VPS की लागत कितनी है] के अंतर्गत सूचीबद्ध हैं।
VPS पर CI runners के बारे में लोग और कौन से सवाल पूछते हैं?
क्या Cobaltfell VPS GitHub Actions self-hosted runners चला सकता है?
हाँ। कोई भी Linux runner agent काम करता है: केवल Linux इमेज: Debian, Ubuntu, AlmaLinux और Rocky Linux। Windows नहीं दिया जाता। इसे GitLab Runner की तरह साइज़ करें, हर overlapping job के लिए लगभग दो vCPU, और इसे उन public repositories से दूर रखें जहाँ अजनबी pull requests खोल सकते हैं।
क्या एक घंटे तक 100% CPU पर चलने वाला build throttle होता है?
Cobaltfell पर नहीं। जब तक आपके काम को ज़रूरत हो, पूरा load चलाने की अनुमति है: कोई CPU credit नहीं, कोई burst window नहीं और 100% पर कुछ मिनट बाद कोई throttling नहीं। CPU-भारी उपयोग का एकमात्र प्रतिबंधित रूप: किसी भी cryptocurrency की mining की अनुमति नहीं है, किसी भी प्लान पर और किसी भी software से। आपका अपना भारी CPU काम, जैसे builds, encoding, inference या databases, पूरे load पर चल सकता है, और केवल blockchain validate करने वाला node mining नहीं है।
क्या GitLab Runner को Docker चाहिए?
नहीं, Shell executor job सीधे VPS पर चलाता है। GitLab नोट करता है कि यह प्रति build कोई साफ़ वातावरण नहीं देता और यह maintenance mode में है, इसलिए जो कुछ आप root के रूप में हाथ से नहीं चलाएँगे, उसके लिए Docker बेहतर डिफ़ॉल्ट है।
क्या GitLab को भी उसी VPS पर चलाना चाहिए जिस पर runner है?
नहीं। GitLab और उसका runner तब एक ही threads और memory के लिए होड़ करते हैं, और भारी pipeline उसे देखने वाले web interface को धीमा कर देती है। एक runner की अपनी अलग VPS पर होनी चाहिए।
हर plan पर एक pipeline कितनी तेज़ है?
अभी तक कोई timing प्रकाशित नहीं हुई है। हमारे अपने YABS और Geekbench 6 नतीजे, साथ ही जो steal time हम मापते हैं, हमारी पहली टेस्ट मशीन डिलीवर होते ही तारीख के साथ प्रकाशित किए जाएँगे। तब तक हम अपनी तरफ़ से कोई performance आँकड़ा नहीं देते। चुने गए plan पर वही pipeline दो बार चलाएँ और दूसरे, cache-warm समय को baseline मानें।
Sources (10)
- GitLab Runner advanced configuration (concurrent, limit, [runners.docker]) — GitLab (checked 2026-11-02)
- GitLab Runner system requirements — GitLab (checked 2026-11-02)
- GitLab-hosted runners on Linux: machine types — GitLab (checked 2026-11-02)
- GitLab Runner executors — GitLab (checked 2026-11-02)
- GNU make manual: parallel execution — GNU Project (checked 2026-11-02)
- cargo build: --jobs विकल्प — The Rust Project (checked 2026-11-02)
- The Ninja build system manual — Ninja (checked 2026-11-02)
- Secure use reference: self-hosted runners — GitHub (checked 2026-11-02)
- Spartan Host सेवा की शर्तें spartanhost.org/tos — Spartan Host (checked 2026-11-02)
- Advin Servers fair use policy docs.advinservers.com/policies/fair-use — Advin Servers (checked 2026-11-02)