GitLab के बारे में
GitLab एक DevOps प्लैटफ़ॉर्म है, जिसमें Git रिपॉज़िटरी होस्टिंग, merge request, इश्यू ट्रैकिंग, पैकेज रजिस्ट्री और कंटीन्युअस इंटीग्रेशन (CI/CD) एक ही एप्लिकेशन में मिलते हैं। Community Edition (CE) ओपन सोर्स है। यह उन डेवलपमेंट टीमों, एजेंसियों और छोटे व्यवसायों के काम आता है जो अपना कोड और पाइपलाइन ऐसे सर्वर पर रखना चाहते हैं जिस पर नियंत्रण उनका अपना हो।
डिलीवरी के समय आपके Linux VPS (Debian 12 या 13, Ubuntu 20.04, 22.04 या 24.04) पर GitLab CE पहले से इंस्टॉल मिलता है। इसे आधिकारिक रिपॉज़िटरी packages.gitlab.com से Omnibus पैकेज के रूप में लगाया जाता है। सर्वर के सार्वजनिक IP पते के लिए 10 साल की वैधता वाला सेल्फ-साइन्ड TLS सर्टिफ़िकेट बनता है। बाहरी URL https://SERVER_IP पर सेट रहता है और HTTP अपने आप HTTPS पर रीडायरेक्ट होता है।
एडमिन खाता root है। उसका शुरुआती पासवर्ड /etc/gitlab/initial_root_password फ़ाइल में लिखा होता है। रेसिपी के अनुसार कम से कम 4 GB RAM (8 GB सुझाया गया) और 2 CPU कोर चाहिए। GitLab काफ़ी संसाधन लेता है, इसलिए VPS का आकार उसी हिसाब से चुनें।
GitLab के साथ आप क्या कर सकते हैं
आधिकारिक Omnibus इंस्टॉलेशन
GitLab CE को GitLab के apt रिपॉज़िटरी से इंस्टॉल किया जाता है और फिर
gitlab-ctl reconfigureसे कॉन्फ़िगर किया जाता है। आगे के अपडेट apt से ही होते हैं।डिलीवरी के साथ ही HTTPS
सर्वर के IP के लिए
/etc/gitlab/ssl/में RSA 2048 का सेल्फ-साइन्ड सर्टिफ़िकेट बनता है। Nginx HTTP को HTTPS पर रीडायरेक्ट करता है।जनरेट किया गया root पासवर्ड
rootखाते का शुरुआती पासवर्ड/etc/gitlab/initial_root_passwordमें रखा जाता है। कोई जाना-पहचाना डिफ़ॉल्ट पासवर्ड नहीं होता।रिपॉज़िटरी, रिव्यू और CI/CD
Merge request, इश्यू, विकी, पैकेज रजिस्ट्री और CI/CD पाइपलाइन एक ही इंटरफ़ेस में मिलते हैं। अलग से कोई थर्ड-पार्टी टूल जोड़ने की ज़रूरत नहीं।
एक ही फ़ाइल में कॉन्फ़िगरेशन
सारी सेटिंग
/etc/gitlab/gitlab.rbसे होती है, और उसके बादgitlab-ctl reconfigureचलाना होता है। इसे वर्ज़न कंट्रोल में रखना और दोबारा बनाना आसान है।
GitLab के साथ शुरुआत करें
ऑर्डर से प्रोडक्शन तक कुछ ही मिनटों में।
- 1
GitLab चुनकर VPS ऑर्डर करें
पेरिस या फ्रैंकफ़र्ट में कम से कम 4 GB RAM (8 GB सुझाया गया) वाला [Linux VPS](/vps-linux) चुनें। ऑर्डर फ़ॉर्म के "Applications" टैब में GitLab पर टिक करें।
- 2
डिलीवरी का इंतज़ार करें और कनेक्ट करें
सर्वर चालू होने के बाद इंस्टॉलेशन और पहली कॉन्फ़िगरेशन में कई मिनट लगते हैं। SSH से लॉग देखते रहें, और काम पूरा होने पर root पासवर्ड पढ़ें।
Bashssh root@SERVER_IP tail -f /var/log/cloud-init-output.log sudo cat /etc/gitlab/initial_root_password - 3
GitLab खोलें और लॉग इन करें
https://SERVER_IP पर जाएँ और सेल्फ-साइन्ड सर्टिफ़िकेट की वजह से आने वाली ब्राउज़र चेतावनी स्वीकार करें।
rootऔर ऊपर पढ़े गए पासवर्ड से लॉग इन करें, फिर अपनी प्रोफ़ाइल में पासवर्ड बदल दें।Bashsudo gitlab-ctl status - 4
प्रोडक्शन के लिए सुरक्षित करें
डोमेन नाम को सर्वर की ओर पॉइंट करें, फिर
/etc/gitlab/gitlab.rbमेंexternal_urlकोhttps://YOUR_DOMAINकर दें। Let's Encrypt चालू करें (letsencrypt['enable'] = true) या अपना सर्टिफ़िकेट लगाएँ, फिर कॉन्फ़िगरेशन लागू करें। फ़ायरवॉल से पहुँच सीमित करें (पोर्ट 22, 80 और 443) और बैकअप का शेड्यूल बनाएँ।Bashsudo nano /etc/gitlab/gitlab.rb sudo gitlab-ctl reconfigure sudo gitlab-backup create
GitLab के उपयोग
टीम के लिए निजी Git फ़ोर्ज
अपने प्रोजेक्ट का सोर्स कोड यूरोप के ऐसे सर्वर पर रखें जिसे आप खुद चलाते हैं। ग्रुप और प्रोजेक्ट के स्तर पर अलग-अलग अनुमतियाँ दी जा सकती हैं।
इन-हाउस CI/CD पाइपलाइन
कोड के साथ वर्ज़न किए गए
.gitlab-ci.ymlफ़ाइलों से अपने टेस्ट और डिप्लॉयमेंट चलाएँ, अपने ही runner पर।होस्टेड सेवा से माइग्रेशन
GitHub या किसी दूसरे GitLab से रिपॉज़िटरी इम्पोर्ट करें और अपने डेटा तथा एक्सेस नियमों पर दोबारा नियंत्रण पाएँ।
सीखने और टेस्टिंग का वातावरण
प्रोडक्शन को छूने से पहले GitLab की कॉन्फ़िगरेशन, बैकअप या वर्ज़न अपग्रेड अलग सर्वर पर आज़माएँ।
GitLab से जुड़े सामान्य प्रश्न
रेसिपी में कम से कम 4 GB और 8 GB सुझाई गई है, साथ में कम से कम 2 CPU कोर। इससे कम पर इंस्टॉलेशन फ़ेल हो सकता है या इंटरफ़ेस बहुत धीमा चल सकता है। CI/CD नियमित रूप से इस्तेमाल करना हो तो 8 GB लें।
GitLab के बारे में और जानें
सेल्फ-साइन्ड सर्टिफ़िकेट बदलना
डिफ़ॉल्ट सर्टिफ़िकेट IP पते से जुड़ा है, इसलिए ब्राउज़र चेतावनी दिखाते हैं। इसे हटाने के लिए डोमेन नाम इस्तेमाल करें (देखें /web-domains) और /etc/gitlab/gitlab.rb में यह बदलाव करें:
Rubyexternal_url 'https://YOUR_DOMAIN' letsencrypt['enable'] = true letsencrypt['contact_emails'] = ['admin@YOUR_DOMAIN']
इसके बाद sudo gitlab-ctl reconfigure चलाएँ। डोमेन पहले से सर्वर की ओर पॉइंट होना चाहिए, और सत्यापन के लिए पोर्ट 80 और 443 बाहर से पहुँच योग्य होने चाहिए।
संसाधन और मेमोरी
GitLab कई सेवाएँ चलाता है: Puma, Sidekiq, PostgreSQL, Redis, Nginx और Gitaly। 4 GB RAM पर छोटी टीम का काम चल जाता है, पर स्वैप और थोड़ी अतिरिक्त गुंजाइश रखना ठीक रहता है। पाइपलाइन बार-बार चलने लगें या कई दर्जन यूज़र हो जाएँ, तो 8 GB पर जाएँ।
बैकअप और अपडेट
sudo gitlab-backup create कमांड एप्लिकेशन डेटा का आर्काइव बनाती है। /etc/gitlab/gitlab.rb और /etc/gitlab/gitlab-secrets.json इस आर्काइव में शामिल नहीं होते, इसलिए इनका बैकअप अलग से लें। अपडेट के लिए sudo apt update && sudo apt install gitlab-ce चलाएँ। पहले आधिकारिक अपग्रेड पाथ ज़रूर पढ़ें, क्योंकि GitLab कभी-कभी बीच के संस्करणों से गुज़रना ज़रूरी करता है।