कई छोटी स्क्रिप्ट, एक रिपॉजिटरी या कई?


16

एक सह-कार्यकर्ता और मेरे पास एक मुद्दा है, जिस पर हमारी कई राय है।

वर्तमान में हमारे पास एक git रिपॉजिटरी है जिसे हम अपने सभी cronjobs में रख रहे हैं। लगभग 20 क्रोन हैं और वे वास्तव में इस तथ्य को छोड़कर संबंधित नहीं हैं कि वे सभी छोटे अजगर स्क्रिप्ट हैं और कुछ गतिविधि के लिए आवश्यक हैं। हम सभी लिपियों के लिए आवश्यकताओं को प्रबंधित करने के लिए एक fabric.pyफ़ाइल को परिनियोजित करने के लिए उपयोग कर रहे हैं requirements.txt

हमारा मुद्दा मूल रूप से है, क्या हम इन सभी लिपियों को एक गिट रिपॉजिटरी में रखते हैं या क्या हमें उन्हें अपने स्वयं के भंडार में अलग करना चाहिए? उन्हें एक रिपॉजिटरी में रखने से उन्हें एक सर्वर पर तैनात करना आसान होता है। हम सभी लिपियों के लिए सिर्फ एक क्रोन फ़ाइल का उपयोग कर सकते हैं।

हालाँकि यह गलत लगता है, क्योंकि 20 क्रोनॉजर्स तार्किक रूप से संबंधित नहीं हैं। इसके अतिरिक्त, requirements.txtसभी स्क्रिप्ट के लिए एक फ़ाइल का उपयोग करते समय , यह पता लगाना कठिन है कि किसी विशेष स्क्रिप्ट के लिए निर्भरताएं क्या हैं और उन सभी को पैकेज के समान संस्करणों का उपयोग करना होगा।

हम सभी लिपियों को अपने स्वयं के रिपॉजिटरी में अलग कर सकते हैं लेकिन इससे 20 अलग-अलग रिपॉजिटरी बनते हैं जिन्हें याद रखने और निपटाए जाने की आवश्यकता है। इन लिपियों में से अधिकांश बहुत बड़ी नहीं हैं और यह समाधान ओवरकिल लगता है।

एक संबंधित प्रश्न यह है कि क्या हम सभी क्रोनोजर के लिए एक बड़ी क्रॉस्टैब फाइल या प्रत्येक के लिए एक अलग फाइल का उपयोग करते हैं? यदि प्रत्येक का अपना है, तो एक क्रेस्टैब की स्थापना अन्य 19 को ओवरराइट करने से कैसे बचती है? यह भी एक दर्द की तरह लगता है क्योंकि तब ट्रैक करने के लिए 20 अलग-अलग क्रोन फाइलें होती हैं।

संक्षेप में, हमारा मुख्य प्रश्न और मुद्दा यह है कि क्या हम उन सभी को एक रिपॉजिटरी के रूप में अच्छी तरह से बंडल करके रखते हैं या क्या हम उन्हें अपनी आवश्यकताओं के साथ अपने स्वयं के रिपॉजिटरी में अलग कर देते हैं। txt और fabfile.py? हमें लगता है कि हम भी शायद कुछ बहुत ही सरल समाधान देख रहे हैं। क्या इस मुद्दे से निपटने का एक आसान तरीका है?


क्या ये स्क्रिप्ट अन्य अनुप्रयोगों से संबंधित क्रोन जॉब्स हैं, या शाब्दिक रूप से उपयोगिता लिपियों का सिर्फ एक डंपिंग ग्राउंड है?
ग्रेग बरगार्ट

मैं नहीं देखता कि उन्हें एक ही भंडार में रखने का मतलब यह होगा कि उन्हें समान आवश्यकताएँ साझा करने की आवश्यकता होगी। यदि आप उन्हें रिपॉजिटरी के अलग-अलग उपनिर्देशिकाओं में डालते हैं, तो उनमें से प्रत्येक की एक अलग आवश्यकताएँ हो सकती हैं ...
शॉन बर्टन

जवाबों:


16

जब तक कि आपके पास यह सोचने के लिए कोई विशिष्ट कारण मौजूद न हो कि उनमें से हर एक एक अदृश्य रेपो का हकदार है (क्या वे बहुत आगे बढ़ेंगे? शायद नहीं!) उन सभी को एक रेपो में रखना अधिक उचित लगता है, और अपने आप को सभी को बचाने की परेशानी से बचाएं। उनमें से 20 प्रतिनिधि हैं।

हर एक को अलग-अलग रेपो में रखने से ऐसा लगता है कि समस्या पैदा करने के रास्ते में समस्या नहीं है।

अपने लिए (और अन्य) अतिरिक्त काम न बनाएँ।


2
सहमत - जब तक लिपियों को अच्छी तरह से नाम दिया जाता है, और उनके बीच दोहराव कम रखा जाता है (अर्थात साझा पुस्तकालय सामान) इसलिए grep खोजों को बहुत अधिक अव्यवस्थित नहीं किया जाता है, मुझे लगता है कि यह काम करता है।
डैनी स्टेपल

1

जब तक कि विभाजन (प्रदर्शन; भारी संगठनात्मक / सुरक्षा चिंताओं आदि) के लिए वास्तव में अच्छा कारण नहीं है।) मेरी वृत्ति स्रोत दस्तावेजों को एक ही भंडार में रखने के लिए है।

अलग-अलग रिपॉजिटरी में विभाजित सिस्टम आमतौर पर अवरोध पैदा करते हैं जो पुन: उपयोग को रोकते हैं; चूंकि पुन: उपयोग केवल एक ही तरीका है कि एक संगठन को विकास की लागत को संशोधित करना है, फिर से उपयोग के रास्ते में जो कुछ भी मिलता है वह वास्तव में एक बुरी चीज है।

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