- Gitolite केंद्रीय सर्वर पर Git रिपॉज़िटरी होस्ट करता है और हर रिपॉज़िटरी के लिए सूक्ष्म access control लागू करने देता है
- पैकेज मैनेजर से इंस्टॉल करते समय अक्सर इसका नाम
gitolite3होता है, और source code Codeberg तथा GitHub पर उपलब्ध है - अगर आप Unix और SSH से परिचित हैं तो quick install दस्तावेज़ देख सकते हैं, और यदि step-by-step मार्गदर्शन चाहिए तो पूरी documentation flow या error-free setup guide का पालन कर सकते हैं
- इंस्टॉलेशन/कॉन्फ़िगरेशन त्रुटियाँ और key खो जाने जैसी स्थिति emergencies दस्तावेज़ में दी गई हैं, और security issues को सीधे email से रिपोर्ट करना चाहिए जबकि सामान्य सहायता के लिए mailing list का उपयोग होता है
- यह software GPL v2 के तहत वितरित किया जाता है, और अलग से प्रबंधित documentation पर सामान्यतः Creative Commons BY-NC-SA 3.0 लागू होता है
इंस्टॉलेशन और संचालन दस्तावेज़
- Gitolite केंद्रीय सर्वर पर Git रिपॉज़िटरी सेटअप करने और सूक्ष्म access control लागू करने देता है
- वैकल्पिक source repository के रूप में GitHub भी उपयोग किया जा सकता है
- पैकेज मैनेजर में इसका पैकेज नाम अक्सर
gitolite3होता है
- यदि आप Unix और SSH से परिचित हैं, तो quick install देख सकते हैं
- यदि step-by-step सहायता चाहिए, तो error-free setup guide को जैसा है वैसा फ़ॉलो करें, और इंस्टॉलेशन के बाद सामान्य कामों के लिए cookbook के उदाहरणों का उपयोग कर सकते हैं
- emergencies इंस्टॉलेशन/कॉन्फ़िगरेशन समस्याओं, खोई हुई key की रिकवरी, सामान्य या दुर्लभ त्रुटियों, और संभावित रूप से समस्याग्रस्त non-standard कॉन्फ़िगरेशन को कवर करता है
सहायता चैनल और लाइसेंस
- security issues सीधे
sitaramc@gmail.comपर रिपोर्ट किए जाते हैं - सामान्य सहायता और चर्चा के लिए Google Groups mailing list का उपयोग किया जाता है
- नए सदस्य का पहला email approval होने तक hold पर रहता है, लेकिन उसी पते से भेजे गए बाद के email hold पर नहीं रखे जाते
- releases और security announcements के लिए एक अलग low-frequency one-way mailing list भी उपलब्ध है
- IRC सहायता libera.chat के
#gitoliteचैनल पर मिल सकती है, और Git चैनल#gitमें भी Gitolite से परिचित उपयोगकर्ता मौजूद हैं - Gitolite software GPL v2 के तहत वितरित किया जाता है
- documentation पर सामान्यतः Creative Commons BY-NC-SA 3.0 लागू होता है, लेकिन बाहरी योगदान वाले हिस्सों पर हर फ़ाइल में अलग लाइसेंस दिखाया जा सकता है
- documentation के code examples और संबंधित टिप्पणियों को, यदि उन्हें fair use के अंतर्गत न माना जाए, तो GPL v2 के अंतर्गत माना जा सकता है
- GIT, Software Freedom Conservancy का ट्रेडमार्क है, और Gitolite नाम का उपयोग लाइसेंस के अनुसार किया जाता है
1 टिप्पणियां
Lobste.rs की राय
2013 में Cambridge University में gitolite और gitweb पर आधारित Git सर्वर बनाया था। शुरुआती GitLab या Gitorious की तुलना में इसे manage करने में काफी कम समय लगेगा, इसलिए इसे चुना, और असल में भी कुल मिलाकर ऐसा ही रहा
gitolite की संरचना अलग थी: यह SSH के जरिए commands चलाता था और बारीक configuration file से access permissions manage करता था, इसलिए web management console न होने के कारण entry barrier था। शुरुआती गाइड बनाया था, लेकिन यह सिर्फ तकनीक में आत्मविश्वासी users के लिए ही उपयुक्त था
Git service के लिए कोई staff बिल्कुल assign नहीं था, इसलिए demand साबित करने और budget पाने के लिए निजी समय लगाकर एक temporary service बनाई। open source में local changes को SVN में रखना, या ऐसे home directory में Git repository रखना जिसे कोई ढूंढ ही न सके, स्वीकार करना मुश्किल था। विश्वविद्यालय की scientific programming जरूरतों की तुलना में software engineering support कम था, और मेरा मानना था कि central IT service को सिर्फ internal use तक सीमित नहीं रहना चाहिए, बल्कि पूरे विश्वविद्यालय की teaching और research को support करना चाहिए
user management delegation feature का उपयोग करके हर research group या department के experts को account management और support का लगभग पूरा काम सौंप दिया। tool कठिन था, इसी वजह से लक्ष्य किए गए expert early adopters जुटे, और users काफी ज्यादा थे लेकिन support requests लगभग नहीं आती थीं। कई universities वाले projects को भी support किया जा सका क्योंकि access को Cambridge members तक सीमित नहीं रखा गया था
सबसे बड़ी गलत गणना यह थी कि सोचा नहीं था कि temporary service लगभग 8 साल चलेगी; बाद में इसे dedicated staff द्वारा चलाए जाने वाले GitLab से बदल दिया गया। सबसे ज्यादा समय resilience सुधारने में लगा, और Git repositories को दूसरे site पर near-real-time में replicate करने वाला setup शायद जरूरत से ज्यादा complex था
संयोग से उसी समय Microsoft ने GitHub को acquire किया था और GitHub के पतन की पहली भविष्यवाणियां होने लगी थीं; इतिहास को दोहराते देखना दिलचस्प है। GitLab ने बहुत अनुकूल शर्तों पर license दिया, और cloud service में Kubernetes और infrastructure as code लागू करने का internal demo भी चाहिए था। अब मैं university छोड़ चुका हूं, लेकिन GitLab अभी भी https://gitlab.developers.cam.ac.uk/ पर चल रहा है
कुछ साल बाद इसे operate करने वाला कोई नहीं बचा, और GitHub बहुत लोकप्रिय हो गया, इसलिए users university की internal service के बजाय external hosting पर चले गए। लगा था project गायब हो गया होगा, लेकिन यह देखकर अच्छा लगा कि यह अब भी लगातार maintained है
gitolite की fine-grained access control lists का उपयोग करके किसी key को सिर्फ clone की अनुमति देकर push रोक सकते थे, या push की अनुमति देकर force push रोक सकते थे। यह हल्का और सुविधाजनक था, और आज होता तो शायद https://github.com/djmdjm/gitlimit आजमाता
personal projects के लिए Fossil भी ठीक है। एक छोटे binary में web server built-in होता है, इसलिए इसे आसानी से serve किया जा सकता है, और जरूरत हो तो upstream Git repository से भी integrate किया जा सकता है
NRAO में भी gitolite को workaround के तौर पर कुछ समय इस्तेमाल किया गया था। उस समय officially supported tool Subversion था, लेकिन group lead ने Git चाहने वाले internal users के लिए इसे install कर दिया था। features ज्यादा नहीं थे, लेकिन जरूरी काम काफी अच्छी तरह कर देता था
अभी पूरी observatory द्वारा इस्तेमाल किया जाने वाला GitLab installation है, और GitHub या GitLab पर जाने की संभावना भी है, लेकिन final decision पता नहीं। continuous integration/deployment system को ठीक करने में काफी समय लगता है, और gitolite से इसे support करने या pull/merge request workflow implement करने का तरीका समझ नहीं आता। हालांकि हो सकता है ऐसी functionality की utility बढ़ा-चढ़ाकर बताई गई हो
अत्यधिक simplicity के लक्ष्य से बने fugit(https://github.com/cbdevnet/fugit) का इस्तेमाल करता हूं, और Nix module से config files manage करता हूं। यह simple और effective है, जबकि gitolite हमेशा इस्तेमाल में थोड़ा cumbersome लगा