क्या Bitbucket, Github, Kiln और इसी तरह के DVCS ब्राउज़िंग और प्रबंधन टूल के लिए खुला स्रोत विकल्प हैं? [बन्द है]


68

मैं कई उपकरण / सेवाओं DVCS ब्राउज़िंग और प्रबंधन जैसे प्रदान करते हैं के बारे में पता कर रहा हूँ Bitbucket , Github , Kiln , एससीएम-प्रबंधक और Rhodecode

हालाँकि, मैं जिस उपयोग के मामले पर विचार कर रहा हूँ, वह ऐसा है:

  1. किसी भी स्रोत कोड को नियोक्ता आंतरिक सर्वर पर रहना चाहिए।
  2. समाधान खुला स्रोत होना चाहिए।
  3. यह एक बिटबकेट या गिथब जैसा अनुभव प्रदान करना चाहिए, जिसमें एक परियोजना विकी, रिपॉजिटरी ब्राउज़िंग और प्रबंधन, और कोड समीक्षा जैसे सामाजिक कोडिंग पहलू शामिल हैं।
  4. समाधान में व्यापारिक समर्थन होना चाहिए (यदि अन्य डीवीसीएस के लिए समर्थन नहीं है)।

इनमें से केवल SCM-Manager और RhodeCode ही पास आते हैं क्योंकि वे आपके स्वयं के सर्वर पर इंस्टॉल किए जा सकते हैं और ओपन सोर्स होते हैं। हालाँकि उनके पास बिटकॉइन या जीथब का अनुभव नहीं है। कोई मुद्दा ट्रैकर या विकी और यूआई नहीं है, जबकि कार्यात्मक, जीथब या बिटबकेट के बराबर नहीं है।

मैं अपने रिपॉजिटरी ब्राउज़रों के साथ ट्राक या रेडमाइन के साथ पास हो सकता हूं लेकिन दुर्भाग्य से उनके पास कोई रिपॉजिटरी प्रबंधन क्षमता नहीं है।

क्या वहाँ अन्य खुले स्रोत उपकरण हैं जो Bitbucket, Github या Kiln को समान अनुभव प्रदान करेंगे?


4
GitHub Enterprise आंतरिक नेटवर्क पर चलता है। Enterprise.github.com


4
@sylvanaar मेरी जानकारी के अनुसार, रेडिमाइन भंडार प्रबंधन क्षमताओं को प्रदान नहीं करता है, केवल रिपॉजिटरी ब्राउज़िंग।
रयान टेलर

3
gitlabhq.com निकटतम है जिसे मैंने GitHub
एंड्रयू टी फिननेल

8
मैं फिर से वोट देने के लिए। यह एक बेहद लोकप्रिय सवाल है। इसे बंद क्यों करें? क्या हम कम से कम इसे कहीं और स्थानांतरित कर सकते हैं?
विलियम लीरा

जवाबों:


31

मैं जीवाश्म को देखूंगा। यह सिस्टम है, आंतरिक रूप से, जाहिर तौर पर, साइक्लाइट के उपयोग का डेवलपर्स। यह sqlite का भी उपयोग करता है , जो एक अच्छी ठोस तकनीक है ... जो अच्छी और पोर्टेबल है - साथ ही साथ सरल और विश्वसनीय है।

यह एक अच्छा है, अगर austere user-interface (जो मुझे लगता है कि आप जैसे उत्पादकता-उन्मुख लक्ष्य की प्रकृति का वर्णन करता है)। (("ग्रे" थीम की जांच करना सुनिश्चित करें। यह डिफ़ॉल्ट "थीम" की तुलना में कम "राउटर-एडमिन" है, अगर आप इसे कॉल कर सकते हैं।)) सीजीआई के रूप में इसकी जड़ों के कारण मुझे इसकी ओर आकर्षित किया गया था। आधारित प्रणाली, कारण मैं CGI के लिए एक चूसने वाला हूँ। उस विरासत के परिणाम वास्तव में बहुत दिलचस्प हैं, क्योंकि इस प्रणाली में एक बहुत ही अनोखी, JSON-ONLY मोड है जिसमें सभी प्रकार के दिलचस्प कार्यान्वयन-संभावनाएं हैं ..

वे इसका उल्लेख करते हैं - लेकिन यह दोहराने लायक है कि इसमें 0 निर्भरताएं हैं। कोई php, कोई mySQL, कोई अजगर। नाडा। यह अपना स्वयं का द्विआधारी निष्पादन योग्य है - और यह कई प्लेटफार्मों पर काम करता है। मैं और अधिक परियोजनाओं "सोचा" उसी तरह चाहते हैं।

मैं उनके साथ संबद्ध नहीं हूं, इसलिए बस उनके शुरुआती पृष्ठ विलोपन का उद्धरण दूंगा , जो आम तौर पर, मैं सहमत हूं .. साथ ही सवालों और आलोचनाओं पर एक नजर डालते हैं ।

बग ट्रैकिंग और विकी - Git और Mercurial जैसे वितरित संस्करण नियंत्रण करने के अलावा, Fossil वितरित बग ट्रैकिंग, विकी वितरित और एक सभी एकीकृत पैकेज में एक वितरित ब्लॉग तंत्र का समर्थन करता है।

वेब इंटरफ़ेस - जीवाश्म में एक अंतर्निहित और आसान उपयोग वाला वेब इंटरफ़ेस है जो प्रोजेक्ट ट्रैकिंग को सरल बनाता है और स्थितिजन्य जागरूकता को बढ़ावा देता है। बस किसी भी चेक-आउट के भीतर से "जीवाश्म ui" टाइप करें और जीवाश्म स्वचालित रूप से आपके वेब ब्राउज़र को एक पृष्ठ में खोलता है जो उस परियोजना पर विस्तृत चित्रमय इतिहास और स्थिति की जानकारी देता है।

ऑटोसिंक - जीवाश्म "ऑटोसिंक" मोड का समर्थन करता है, जो अक्सर वितरित परियोजनाओं से जुड़े अनावश्यक कांटे और विलय की मात्रा को कम करके परियोजनाओं को आगे बढ़ाने में मदद करता है।

स्व-नियंत्रित - जीवाश्म एक एकल स्टैंड-अलोन निष्पादन योग्य है जिसमें कॉन्फ़िगरेशन प्रबंधन करने के लिए आवश्यक सब कुछ शामिल है। इंस्टॉलेशन तुच्छ है: बस लिनक्स, मैक, या विंडोज के लिए एक पूर्वनिर्धारित बाइनरी डाउनलोड करें और इसे अपने $ पेट पर डालें। अन्य प्लेटफार्मों पर उपयोगकर्ताओं के लिए आसान-से-संकलन स्रोत कोड उपलब्ध है। जीवाश्म स्रोत भी ज्यादातर आत्म-निहित होते हैं, जिसके लिए केवल "ज़ालिब" लाइब्रेरी और मानक सी लाइब्रेरी के निर्माण की आवश्यकता होती है।

सरल नेटवर्किंग - जीवाश्म सभी नेटवर्क संचार के लिए सादे पुराने HTTP (प्रॉक्सी समर्थन के साथ) का उपयोग करता है, जिसका अर्थ है कि यह प्रतिबंधात्मक फ़ायरवॉल के पीछे से ठीक काम करता है। प्रोटोकॉल इस बिंदु पर बैंडविड्थ के लिए कुशल है कि फॉसिल का उपयोग डायल-अप इंटरनेट कनेक्शन पर आराम से किया जा सकता है।

CGI सक्षम - जीवाश्म का उपयोग करने के लिए किसी सर्वर की आवश्यकता नहीं है। लेकिन एक सर्वर सहयोग को आसान बनाता है। जीवाश्म तीन अलग-अलग सरल सर्वर कॉन्फ़िगरेशन का समर्थन करता है। सबसे लोकप्रिय एक 2-लाइन सीजीआई स्क्रिप्ट है। यह स्वयं-होस्टिंग जीवाश्म रिपॉजिटरी द्वारा उपयोग किया जाने वाला दृष्टिकोण है।

मजबूत और विश्वसनीय - जीवाश्म एक SQLite डेटाबेस में एक स्थायी फ़ाइल प्रारूप का उपयोग करके सामग्री को संग्रहीत करता है ताकि लेनदेन एक शक्ति हानि या सिस्टम क्रैश से बाधित होने पर भी परमाणु हो। इसके अलावा, स्वचालित आत्म-जाँच यह सत्यापित करती है कि रिपॉजिटरी के सभी पहलू प्रत्येक प्रतिबद्ध से पहले संगत हैं। ऑपरेशन के तीन वर्षों में, फॉसिल रिपॉजिटरी के लिए प्रतिबद्ध होने के बाद कभी कोई काम नहीं हुआ।

अपडेट: इंटरफ़ेस से संबंधित जानकारी के बजाय, यहां इसका एक त्वरित शॉट है ... जैसा कि आप देख सकते हैं, यह निश्चित रूप से सरल है .. लेकिन इसका मतलब है कि अनुकूलन के लिए एक साफ स्लेट .. बस एक स्टाइलशीट और एक हेडर / पाद / बॉडी-प्रकार अस्थायी प्रणाली। किसी और की किताब, IMO को फिर से लिखने की तुलना में एक छोटी कहानी लिखने के लिए बेहतर है।

जीवाश्म ui


3
जीवाश्म के लिए +1। मैंने इसे यहाँ बड़े पैमाने पर काम में लिया है, और केवल "डाउनसाइड" मैंने देखा है कि वह क्षेत्र है जो कछुआ (git / hg / svn) में फिट बैठता है। हालाँकि, वहाँ winfossil परियोजना है। यह जीवाश्म में होस्ट किया गया है, अगर आप किसी प्रोजेक्ट पर जीवाश्म के अलावा वेब इंटरफेस को देखना चाहते हैं।
स्पेंसर रथबुन

1
जीवाश्म बिल्कुल भयानक है। यह शायद ही कभी मैं उपयोग करता हूं, लेकिन यह सच्चाई है।
जाइलम

16

Gitorious ओपन सोर्स है और आप Gitorious कम्युनिटी एडिशन ( http://www.getgitorious.com/installer देखें ) द्वारा उपलब्ध कराई गई स्क्रिप्ट्स का उपयोग करके इसे अपने सर्वर पर इंस्टॉल कर सकते हैं । Gitorious के पास अब विकी और ट्रैकिंग जारी करने के लिए समर्थन है। जल्दी से इसे चलाने के लिए एक डॉकर छवि भी उपलब्ध है।

एक अन्य विकल्प Gitlab होगा, जो मूल रूप से एक GitHub क्लोन है, जो कि gitorious के रूप में परिपक्व नहीं है लेकिन यह मासिक रिलीज के साथ भारी विकास के अधीन है।

आप यहां और विकल्प भी देख सकते हैं


Gitorious की स्थापना प्रक्रिया को सरल बनाया गया है। आप या तो स्थापित स्क्रिप्ट का उपयोग कर सकते हैं ( getgitorious.com/installer ) या वर्चुअलबॉक्स इमेज चलाने के लिए तैयार हो जाएं ( getgitorious.co/install-gitorious )
पीटर


8

आपकी बाधाएं बहुत विशिष्ट हैं, लेकिन मुझे लगता है कि आप उन परिणामों को प्राप्त कर सकते हैं जो आप ChiliProject + प्लगइन्स के साथ चाहते हैं ।

ChiliProject Redmine का एक कांटा है जो रूबी / रेल के अद्यतन संस्करणों का उपयोग करता है। यह बहुत अच्छी तरह से git और मर्क्यूरियल का समर्थन करता है, और Github के मुद्दों की कार्यक्षमता की प्रतिकृति करता है, जैसा कि आप चाहते हैं कि आप कमिट मैसेज को पार्स कर रहे हैं (यानी, refs 291कमिट में # 291 जारी करने के लिए एक कमिट लिंक करेंगे)।

वहाँ भी Redmine / ChiliProject हैं प्लगइन्स कि कोड की समीक्षा, वाक्य रचना हाइलाइटिंग, और अन्य ब्योरा है कि Github, आदि प्रदान करते हैं कि स्पष्ट रूप से या खुले स्रोत प्रतियोगियों में आसानी से उपलब्ध नहीं हो सकता है की तरह सुविधाएं प्रदान करते हैं।

अन्य विकल्प हैं, JIRA, आदि, लेकिन वे (IMHO) कार्यक्षमता की धृष्टता या धन प्रदान नहीं करते हैं जो Redmine के चिलीप्रोजेक्ट कांटा + उपलब्ध प्लगइन्स की भीड़ प्रदान करते हैं। बहुत ज्यादा नहीं है कि गितुब और / या बिटबकेट आपके लिए करते हैं कि चिल्लीप्रोजेक्ट (संभवतः स्वतंत्र रूप से उपलब्ध प्लगइन्स के साथ) ऐसा नहीं कर सकते हैं; और सुंदरता यह है, अगर यह पहले से मौजूद नहीं है, तो आमतौर पर इसे स्वयं लागू करने के लिए काफी तुच्छ है।

यदि यह आपकी आवश्यकता से अधिक लगता है ... मैंने इसे अभी तक आज़माया नहीं है, लेकिन GitLab भी दिलचस्प लगता है ... ऐसा लगता नहीं है कि Redmine / Chili की एक्स्टेंसिबिलिटी या प्लगइन आर्किटेक्चर है, लेकिन यदि आप देख रहे हैं कोर फीचर सेट के अधिकांश के साथ जीथब के एक ओपन-सोर्स क्लोन के लिए (और आपको कई डीवीसीएस का समर्थन करने की आवश्यकता नहीं है), यह बहुत अच्छा लग रहा है।


इसके अलावा, यदि आपको वेब-आधारित स्रोत नियंत्रण प्रबंधन उपकरणों की आवश्यकता है ... मैंने Redmine / ChiliProject के साथ सफलतापूर्वक Gitosis का उपयोग किया है ... Mercurial के लिए समकक्ष के बारे में सुनिश्चित नहीं है, लेकिन इसे जोड़ने के लिए काफी तुच्छ होना चाहिए।
जेसन लुईस

अपडेट: Redmine Redmine 2 के रूप में अप-टू-डेट रेल संस्करणों (यदि आपका मतलब है कि रेल्स 3) का उपयोग करता है
वैकल्पिक

7

Allura http://sf.net/p/allura को बिल फिट करना चाहिए। यह SourceForge में सभी नई (या उन्नत) परियोजनाओं के लिए मंच है और खुला स्रोत है। यह मर्क्यूरियल और विकिस का समर्थन करता है, साथ ही कई और उपकरण (Git, SVN, टिकट ट्रैकर, फ़ोरम, आदि)। इसमें काफी "कोड समीक्षा" नहीं है, लेकिन यह मर्क्यूरियल और गिट रिपोज के लिए फोर्किंग और मर्ज अनुरोध का समर्थन करता है।

यह पायथन में लिखा गया है और डेटा स्टोरेज के लिए MongoDB और Solr का उपयोग करता है।

अल्लारा वर्तमान में अपाचे इनक्यूबेटर में भी है: http://incubator.apache.org/projects/allura.html

मैं SourceForge के लिए काम करता हूं और अल्लुरा को विकसित करने में मदद करता हूं।


6

काम पर सटीक एक ही मुद्दे के लिए हम एक पारिस्थितिकी तंत्र का उपयोग करते हैं:

  • अंक ट्रैकिंग के लिए Redmine
  • भंडार प्रबंधन के लिए रोडकोड
  • निरंतर एकीकरण और तैनाती के लिए जेनकिंस (हमारे पास तैनाती और उन्नयन कार्यों के लिए नौकरियां हैं जिन्हें एक दानेदार फैशन में अनुमतियाँ सौंपी जा सकती हैं, और आपको मुफ्त में ऑडिट ट्रेल मिलता है)
  • प्रमाणीकरण के लिए सक्रिय निर्देशिका (उपरोक्त सभी इसे मूल रूप से एकीकृत कर सकते हैं)

Redmine में DVCS एकीकरण ने बाद के रिलीज में छलांग और सीमा में सुधार किया है, मैंने कुछ हफ्ते पहले अपग्रेड किया था और मुझे बेहद खुशी है कि ज्यादातर "गोचैट्स" चले गए हैं।

मैं Redmine और RhodeCode सर्वर को एक ही होस्ट पर चलाता हूं क्योंकि Redmine अभी तक दूरस्थ HG repos का समर्थन नहीं करता है। जेनकिन्स कई अन्य मेजबानों पर चलता है।

मैं Redmine में मर्क्यूरल पुल को ट्रिगर करने के लिए रोडकोड हुक का उपयोग करता हूं। मैं जेनकींस के लिए एक हुक की वजह से खींचती उपयोग कर सकते हैं नहीं JENKINS-13717 है, लेकिन मैं पहले से ही इस के लिए एक पैच प्रस्तुत की है और मुझे लगता है कि यह बहुत तेजी से स्वीकार किया जाएगा। इस बीच मैं हर कुछ मिनट में एचजी रिपोज को प्रदूषित करता हूं।

SSL समाप्ति पाने के लिए Nginx रिवर्स प्रॉक्सिंग पर डेबियन 6.0 पर सब कुछ चलता है (यह सब केवल SSL पर उपयोग किया जाता है)। हाल ही में पूरे पैकेज को एक ProxMox क्लस्टर पर स्थानांतरित किया गया था ताकि सभी इसे अब तक के महान परिणामों के साथ आभासी कर सकें। यदि आप उत्पाद नहीं जानते हैं, तो आपको इस पर एक नज़र डालनी चाहिए। यह उन में से एक है " मुझे विश्वास नहीं हो रहा है कि यह मौजूद है और मुझे इसके बारे में पता नहीं था और ओएमजी यह खुला स्रोत भी है! " हम OpenVZ कंटेनरों पर इन सेवाओं को चलाते हैं जो आसानी से हार्डवेयर मरम्मत / उन्नयन के लिए एक मेजबान से दूसरे में स्थानांतरित हो जाते हैं। उसी क्लस्टर पर हम KVM वर्चुअल मशीनों के साथ-साथ विंडोज प्लेटफॉर्म पर स्वचालित परीक्षण के लिए भी आते हैं।

मैं इस पारिस्थितिकी तंत्र से बेहद खुश हूं। इसने हमारी देव / QA टीम की समस्याओं को पुन: पेश करने और बड़े अंतर से परिवर्तनों को ट्रैक करने की क्षमता में सुधार किया है। बस कुछ चेतावनियाँ:

  • यदि आप रोडशॉट के साथ जाते हैं, तो इसे SQLite पर सेट न करें। MySQL या किसी अन्य वास्तविक DBMS का उपयोग करें। यह तथ्य के बाद वास्तव में प्रवासी नहीं है, और SQLite एक समय में केवल 1 कनेक्शन लेता है, जिसके परिणामस्वरूप मज़ेदार ताले और टाइमआउट होते हैं (देखें रोडकोड का # 439 )। यह दर्दनाक हो जाता है अगर जेनकिंस लगातार रेपो को मतदान कर रहा है क्योंकि आपको एक बार में त्रुटि संदेश मिलता है (जेनकिंस मुद्दे पर ऊपर टिप्पणी देखें)।
  • आप वास्तव में अपने देवताओं के लिए पर्याप्त तनाव नहीं कर सकते हैं कि मर्क्यूरियल में, "संख्या 132" का अर्थ है नेटवर्क पर बाकी सभी के लिए कुछ भी नहीं है क्योंकि वे संख्याएं केवल स्थानीय हैं । जब Redmine टिकट के अंदर बदलावों के बारे में बात करते हैं, तो या तो स्थानीय संशोधन संख्या का उपयोग करें जिसे आप रेपो ब्राउज़र से प्राप्त कर सकते हैं (जो कि रोडकोड और रेडमाइन दोनों में समान है, क्योंकि वे एक ही मशीन पर चलते हैं) या उपयोग करते हैं commit:abcd1234

मुझे इस सेटअप की सिफारिश करने में कोई संकोच नहीं है क्योंकि मैं इससे बहुत खुश हूं। यदि आपको किसी विशिष्ट सेवा को कॉन्फ़िगर करने में सहायता की आवश्यकता है या आप पूछना चाहते हैं कि मेरी कॉन्फ़िगरेशन फ़ाइलों पर एक नज़र डालें।


2

Cydra पर एक नज़र डालें: https://github.com/mensi/cydra में इसके लिए समर्थन है

  • तोड़फोड़ (HTTP)
  • Git (HTTP और SSH अलग पोर्ट पर)
  • मर्क्यूरियल (HTTP)
  • Trac

यह एक परियोजना आधारित दृष्टिकोण पर काम करता है जो आपको एक परियोजना बनाने और इसे कई रिपॉजिटरी (एक एसवीएन रिपॉजिटरी में) प्रदान करने की अनुमति देता है। यह लेख अलग-अलग प्लगइन्स पर आधारित है (हमने इसे अपने ldap में एकीकृत किया है)।

हम इसका उपयोग अपने https://code.vis.ethz.ch कोडिंग प्लेटफॉर्म के लिए करते हैं। फिलहाल कोड समीक्षा का कोई समर्थन नहीं है लेकिन इसे आसानी से एक प्लगइन के रूप में जोड़ा जा सकता है।

मैं स्क्रीनशॉट पोस्ट नहीं कर सकता क्योंकि मेरे पास पर्याप्त प्रतिष्ठा नहीं है।


1
Cydra प्रोजेक्ट ऐसा लगता है जैसे यह कुछ महीने पहले मुश्किल से शुरू हुआ था और यह बहुत सक्रिय रूप से विकसित नहीं हुआ है। उल्लेख करने के लिए थोड़ा अपरिपक्व हो सकता है।
R0MANARMY

हाँ आप सही है। लेकिन फिर यदि आप एक कोड होस्टिंग प्लेटफ़ॉर्म जैसा कुछ सेटअप करना चाहते हैं, तो आप बहुत सारे सामान को कस्टमाइज़ करना चाहते हैं। तो मुझे लगा कि यह ध्यान देने योग्य है।
पास्कल

2

GitLab https://about.gitlab.com/ का उपयोग करने पर विचार करें क्योंकि यह आपकी अधिकांश आवश्यकताओं को पूरा करता है:

  1. आप इसे परिसर में स्थापित कर सकते हैं
  2. यह एमआईटी एक्सपैट लाइसेंस है
  3. इसमें विकी (git द्वारा समर्थित), रिपॉजिटरी ब्राउजिंग, विस्तृत एक्सेस मैनेजमेंट (कई एक्सेस लेवल, संरक्षित ब्रांच, ldap इंटीग्रेशन आदि) हैं और इसमें कोड रिव्यू और डिस्कशन (लाइन कमेंट्स सहित) के लिए मर्ज़ रिक्वेस्ट हैं।
  4. यह मर्क्यूरियल का समर्थन नहीं करता है बल्कि केवल गिट का है

इसमें एक अच्छा मुद्दा ट्रैकर भी है या आप किसी बाहरी समस्या ट्रैकर से लिंक कर सकते हैं। यदि आप चाहते हैं तो आप GitLab CI के साथ अपने मर्ज अनुरोधों का परीक्षण कर सकते हैं। GitLab तेजी से बढ़ रहा है और 25.000 से अधिक संगठनों द्वारा उपयोग में है।

प्रकटीकरण: मैं GitLab BV का सीईओ और सह-संस्थापक हूं

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.