6 पॉइंट द्वारा GN⁺ 2026-01-26 | 3 टिप्पणियां | WhatsApp पर शेयर करें
  • व्यक्तिगत प्रोजेक्ट प्रबंधन और CI/CD इंटीग्रेशन पर केंद्रित होकर GitLab को लंबे समय तक इस्तेमाल करने के अनुभव का परिचय
  • शुरुआत में मुफ़्त private repository उपलब्ध होना GitHub की तुलना में बड़ा फ़ायदा था, और बाद में भी workflow पूरी तरह स्थापित हो गया
  • Container Registry फीचर का सबसे ज़्यादा उपयोग होता है; अलग Docker Hub अकाउंट या token मैनेजमेंट के बिना images स्टोर की जा सकती हैं
  • GitLab CI की config file-आधारित pipeline, मुफ़्त shared runners, और विस्तृत documentation को प्रमुख ताकतों के रूप में बताया गया है
  • हालांकि web interface की धीमी गति और feature overload को कमियों के रूप में इंगित किया गया है, और GitHub व GitLab को उद्देश्य के अनुसार साथ-साथ इस्तेमाल करना सबसे प्रभावी तरीका बताया गया है

GitLab इस्तेमाल करने की पृष्ठभूमि

  • उस समय जब GitHub private repositories के लिए शुल्क लेता था, GitLab ने मुफ़्त private repositories दीं, इसलिए इसका उपयोग शुरू किया गया
    • कई प्रयोगात्मक प्रोजेक्ट्स को सार्वजनिक किए बिना मैनेज किया जा सकता था
  • बाद में GitHub ने भी मुफ़्त नीति शुरू की, लेकिन तब तक CI pipeline, Docker images, और deployment scripts पहले से GitLab-केंद्रित बन चुके थे, इसलिए migration की ज़रूरत नहीं रही

Docker Registry फीचर

  • हर GitLab प्रोजेक्ट में Container Registry डिफ़ॉल्ट रूप से शामिल होती है
    • local या CI में image build करके push करना और ज़रूरत की जगह pull करके इस्तेमाल करना एक सीधा workflow है
  • अलग Docker Hub अकाउंट या token मैनेजमेंट की ज़रूरत नहीं, और pull limits की चिंता भी नहीं
  • व्यक्तिगत प्रोजेक्ट्स के लिए यह पर्याप्त है, और 10GB storage limit भी व्यवहार में समस्या नहीं बनती
    • पुराने tags साफ़ करने और layer sharing से space efficiency बनी रहती है

CI/CD वातावरण

  • GitLab CI ने शुरुआत से ही ‘config file-आधारित CI’ की अवधारणा को लागू किया
    • सिर्फ़ .gitlab-ci.yml फ़ाइल जोड़ने पर pipeline अपने-आप चल जाती है
    • config version control में रहती है, इसलिए पुराने pipeline state को track करना संभव है
  • मूल pipeline image build, push, और optional deployment से बनी होती है
    • deployment stage को manual trigger से नियंत्रित किया जा सकता है
  • shared runners मुफ़्त हैं, लेकिन धीमे हैं; ज़रूरत पड़ने पर self-hosted runner को VPS पर आसानी से इंस्टॉल किया जा सकता है
  • CI/CD documentation बहुत विस्तृत है, और एक बार pattern समझ आने पर मौजूदा config को copy करके reuse करते हुए प्रभावी प्रबंधन संभव है

असुविधाएँ

  • web interface की गति धीमी है, और merge requests, pipeline, तथा logs के बीच स्विच करते समय इंतज़ार करना पड़ता है
    • हाल में कुछ सुधार दिखता है, लेकिन फिर भी GitHub से धीमा है
  • feature overload की समस्या भी मौजूद है
    • issue tracking, wiki, package registry, security scanning जैसी कई सुविधाएँ हैं, लेकिन वास्तविक उपयोग लगभग 10% तक सीमित है
    • फिर भी ज़रूरत पड़ने पर पहले से built-in फीचर्स का उपयोग कर पाने का संभावित लाभ है

लागत और workflow

  • लगभग 12 व्यक्तिगत प्रोजेक्ट्स मुफ़्त में चलाए जा रहे हैं, जिनमें सक्रिय प्रोजेक्ट्स से लेकर रुके हुए प्रयोग भी शामिल हैं
  • GitLab को private workspace और GitHub को public project sharing space के रूप में अलग-अलग इस्तेमाल किया जाता है
    • GitHub collaboration और visibility के लिए उपयुक्त है, जबकि GitLab प्रयोग और automation management के लिए अधिक उपयुक्त है
  • दोनों प्लेटफ़ॉर्म को साथ में इस्तेमाल करने की संरचना workflow के संतुलन और दक्षता को बनाए रखने के तरीके के रूप में काम करती है

3 टिप्पणियां

 
spp00 2026-01-26

कहा जाता है कि GitLab का CI/CD अच्छा है।

लेकिन मेरे लिए free account की limitations की वजह से, भले ही Korean सपोर्ट हो, फिर भी हाथ GitHub की तरफ ही जाता है।

Forgejo और उसका base Gitea, दोनों में GitHub की नकल जैसा feel आता है, इसलिए उनकी तरफ मन नहीं जाता।

 
wedding 2026-01-27

हम GitT इस्तेमाल कर रहे हैं, और उसके Git जैसी इमेज की वजह से learning curve कम था, इसलिए इसे अपनाया।
GitLab में फीचर्स बहुत ज़्यादा हैं, इसलिए उसे मुश्किल और भारी होने का feedback काफ़ी मिला था..

 
GN⁺ 2026-01-26
Hacker News की राय
  • मुझे GitLab काफ़ी पसंद था, लेकिन IPO के बाद ऐसा लगा कि गुणवत्ता से ज़्यादा दिखावे के पीछे भाग रहा है
    कस्टमर सपोर्ट प्रतिनिधि गायब हो गए और हर पूछताछ अब sales team के ज़रिए करनी पड़ती है, जबकि ज़्यादातर फीचर्स महंगे Ultimate प्लान में बंधे हुए हैं
    “AI” नहीं वाले फीचर्स सालों से वही समस्याएँ झेल रहे हैं, फिर भी उन्हें यूँ ही छोड़ दिया गया है
    इसलिए अब जब भी sales email आता है, मैं यह खेल खेलता हूँ: “पुराने दिनों जैसी तेज़ development speed फिर कब देखने को मिलेगी?”
    • GitLab पहले से ही ऊपरी चमक-दमक का पीछा करता रहा है
      2015~2020 के आसपास इसे मज़े से इस्तेमाल किया, लेकिन हर फीचर अधपका था और ध्यान परिपक्वता से ज़्यादा feature checklist भरने पर था
      शायद एक छोटी टीम के लिए बड़ी कंपनियों से प्रतिस्पर्धा करने का यही व्यावहारिक तरीका रहा होगा
  • GitLab का web interface हमेशा धीमा लगा है
    10 साल बाद भी वही हाल है, और Gitea या Forgejo उससे कहीं तेज़ हैं; Go 1.26 रिलीज़ के बाद यह और बेहतर होने वाला है
    • मैं इसे सिर्फ़ personal projects के remote repository के रूप में इस्तेमाल करता था, लेकिन laggy interface और समय-समय पर होने वाले browser checks की वजह से अकाउंट बंद कर दिया
    • मुझे लगता है यह GitLab की बुनियादी आर्किटेक्चर समस्या है
      खासकर issue search इतनी धीमी है कि दोबारा इस्तेमाल करने का मन नहीं है
    • मेरा अनुभव इसका उल्टा है
      2018 में Bitbucket और Confluence से GitLab Cloud पर आए थे, और Atlassian के products कहीं ज़्यादा धीमे और जटिल लगे
      GitLab हल्का और तेज़ लगा, और आज भी ज़्यादातर चीज़ें ठीक काम करती हैं
      हाल में Jira Cloud इस्तेमाल किया, वह और भी धीमा और असुविधाजनक था
    • सिर्फ़ CI/CD को enable करते ही वह लगातार CPU का एक core घेर लेता है
      सच में हैरान करने वाली बात है
    • ट्रक और छोटी कार के फ़र्क की तरह, GitLab enterprise उपयोग के लिए बना है, इसलिए उसका धीमा होना लगभग तय है
  • GitLab के शुरुआती दिनों से इस्तेमाल कर रहा था, लेकिन हाल में Forgejo पर शिफ्ट किया
    सर्वर की बिजली खपत 10% कम हो गई, और GitLab में बेकार के फीचर्स इतने थे कि UI घुटनभरा लगता था
    Forgejo सरल है और project के हिसाब से फीचर्स छिपाए जा सकते हैं
    हालाँकि auto-update नहीं है, polish कम है, और कुछ फीचर्स ठीक से काम नहीं करते
  • लेख का website design शानदार था
    पता नहीं वह Jekyll theme थी या खुद बनाई गई थी, लेकिन उसे explore करना ही आनंददायक था
    • dark theme को अच्छे ढंग से लागू करने के दुर्लभ उदाहरणों में से एक है
    • Markdown को उसी रूप में दिखाने का विचार काफ़ी elegant लगा
    • मुझे लगा यह सचमुच एक बेहतरीन personal website है
  • GitLab के धीमे interface की वजह से Forgejo पर स्विच किया
    ज़रूरी CI, issue tracking वगैरह सब बने रहे, लेकिन interface तुरंत load होता है और बेकार के फीचर्स नहीं हैं
    • मैंने भी इसी वजह से Forgejo अपनाया, और speed व resource efficiency GitLab की तुलना में लगभग 10% संसाधनों पर मिल जाती है
      GitLab CI का syntax मुझे ज़्यादा पसंद था, लेकिन Forgejo का API कम polished है
      फिर भी DB तक सीधी पहुँच होने से custom scripts के ज़रिए काम चल जाता है
    • Forgejo की हल्केपन की वजह से ArgoCD local development environment आसानी से सेट किया जा सकता है
      Kubernetes cluster खड़ा करके Forgejo और Argo को जोड़कर test किया
    • सोच रहा हूँ कि open source project को Forgejo पर ले जाना वाकई सार्थक होगा या नहीं
      Microsoft की जगह Codeberg के संसाधनों का इस्तेमाल करना सही होगा या नहीं, समझ नहीं आता
    • थोड़ी देर इस्तेमाल किया, और यह बहुत तेज़ और साफ़-सुथरा लगा
      CI शायद Woodpecker नाम का project संभालता है; GitLab CI की तुलना कैसी है, यह जानने की जिज्ञासा है
    • Forgejo का code review GitHub के तरीके की सीधी नकल करता है, इसलिए अप्रभावी workflow थोपता है
      GitLab, Gerrit जितना नहीं सही, लेकिन stacked MR सपोर्ट करता है, और force push के बाद भी comments देखे जा सकते हैं
      मुझे लगता है GitHub-शैली की बड़े PR केंद्रित संस्कृति productivity और review culture दोनों को नुकसान पहुँचाती है
  • काम में GitLab इस्तेमाल करता हूँ, और कुल मिलाकर यह intuitive और इस्तेमाल में आसान है
    LDAP sync settings जैसी admin सुविधाओं में सुधार की गुंजाइश है, लेकिन CI/CD syntax आम तौर पर सुविधाजनक है
    • GitLab CI शक्तिशाली है, लेकिन bugs बहुत ज़्यादा हैं और YAML syntax असुविधाजनक लगा
      2021~2024 तक इसे रोज़ इस्तेमाल करते हुए bugs की अलग diary लिखनी पड़ी थी
      उससे जुड़ा अनुभव पिछली टिप्पणी में छोड़ा था
    • UI बहुत जटिल है, इसलिए GitHub की तुलना में इस्तेमाल करना कहीं कठिन लगता है
  • GitLab की समस्या feature overload है
    GitHub का simple issue tracker इस्तेमाल करने में कहीं आसान है
    project managers को GitLab पसंद आ सकता है, लेकिन user के नज़रिए से GitHub बेहतर लगता है
    • फीचर्स बहुत हैं, लेकिन implementation quality कमज़ोर है
    • कंपनी में GitLab इस्तेमाल किया था, और सिर्फ़ source code ढूँढना भी जटिल था
      अब GitHub इस्तेमाल कर रहा हूँ, जो बहुत सरल और कुशल है
      मुझे GitLab सच में नापसंद है
  • प्रति project 10GB की सीमा छोटी लग सकती है, लेकिन व्यवहार में वहाँ तक पहुँचना मुश्किल है
    Docker images के मामले में सिर्फ़ per-layer limit है, कुल क्षमता इससे कहीं अधिक हो सकती है
    संबंधित दस्तावेज़: Storage Usage Quotas, Container Registry Issue
    • सोच रहा हूँ क्या किसी ने 4K फ़िल्म को कई Docker layers में बाँटकर GitLab पर push किया है
      70GB वाली Interstellar REMUX अपलोड करके देखना चाहता हूँ
    • अगर हर layer 10GB से कम हो, तो क्या unlimited push/pull संभव है, यह पक्का करना चाहता हूँ
  • GitLab का integrated interface अच्छा है, लेकिन छोटी-छोटी परेशानियाँ बहुत हैं
    “कुछ करने की कोशिश → error → search → 3~8 साल पुरानी आधिकारिक bug report मिलना” वाला पैटर्न बार-बार दोहरता है
    कई फीचर्स 80/20 पूर्णता पर अटके हुए हैं, और MR view इतना धीमा है कि तकलीफ़ होती है
    • मेरा भी यही अनुभव रहा, और पुराने client team में भी यह meme जैसा मशहूर था
      इससे जुड़ी बात पिछली टिप्पणी में लिखी थी
  • कंपनी ने 5 साल पहले GitLab पर migration किया था, और फीचर्स बहुत हैं लेकिन speed धीमी है
    Maven, NPM, Python package registry को CI pipeline में integrate कर पाने की बात पसंद है
    लेकिन फीचर्स ज़रूरत से ज़्यादा हैं, और हर screen लगभग दोगुनी धीमी लगती है
    • पहले Stash इस्तेमाल करते थे, फिर GitLab पर आए, जो तेज़ और feature-rich लगा
      उसके बाद Azure DevOps पर बदलाव हुआ, लेकिन वह धीमा है और quality gates भी कमज़ोर हैं
      build server के VM में बदलने के बाद IOPS limits की वजह से builds धीमे हो गए
      GitLab पर लौटना चाहता हूँ, और performance सुधारने में योगदान देने की भी इच्छा है