प्रबंधन / आदि के लिए गिट का उपयोग करना?


15

मैं एक प्रणाली पर सोच रहा हूं, जहां /etcएक दूरस्थ गिट रिपॉजिटरी पर नज़र रखी गई थी। मैं एक git वर्कफ़्लो पर सोच रहा हूं, जहां हर मेजबान मशीन जहां एक अलग शाखा है।

हर मशीन पर हर पिछले संस्करणों को आसानी से ट्रैक किया जा सकता है, तुलना, विलय कर दिया गया है।

यदि /etcकई मशीनों पर एक संशोधन किया जाना था, तो इसे आसानी से कुछ मर्जिंग स्क्रिप्ट द्वारा किया जा सकता था।

"अवांछित" /etcपरिवर्तन के मामले में , यह अच्छा दिखाई दे सकता है (यहां तक ​​कि अलार्म स्क्रिप्ट को देखने के लिए ट्यून किया जा सकता है)।

किसी ने पहले से ही इस तरह के विन्यास का इस्तेमाल किया? क्या इसके साथ कोई सुरक्षा समस्याएं हैं?


6
वहाँ है etckeeperजो पहले से ही कई प्रणालियों पर उपयोग किया जाता है। यह आपके द्वारा मांगी गई सभी सुविधाओं की पेशकश नहीं करता है। उदा। इसके पास प्रति मेजबान एक भंडार है, एक केंद्रीय नहीं है।
जोफेल

आप किन फाइलों में रुचि रखते हैं या अतीत में कौन सी फाइलें अवांछित रूप से बदली गई हैं? मैं पूछता हूं क्योंकि मुझे लगता है कि Git आपके वर्कफ़्लो में एक और बिंदु पर होने वाली समस्याओं को हल करने का सही तरीका नहीं है। इसके अलावा: यदि कोई व्यक्ति कई बदलाव करना भूल जाता है तो Git बेकार है। क्या आप कृपया अपने पर्यावरण की व्याख्या कर सकते हैं? क्या आपके पास उत्पादन के समान परीक्षण और क्यूए एनवायरनमेंट हैं? क्या आपके पास एक ही प्रकार / उद्देश्य के दो या तीन से अधिक होस्ट हैं या यह विषम है? क्या अधिक महत्वपूर्ण है: होस्ट कॉन्फ़िगरेशन की तुलना करें या समय के साथ एक होस्ट कॉन्फ़िगरेशन को ट्रैक करें?
कोशिश-कैच-अंत में

जवाबों:


8

कार्यक्रम etckeeperमें प्रबंधन करता /etcहै git, आपको बस डिफ़ॉल्ट वीकेएस बैकएंड bzrको gitअंदर से बदलना होगा /etc/etckeeper/etckeeper.conf

यह उबंटू लिनक्स में डिफ़ॉल्ट रूप से स्थापित है, और स्वचालित रूप से कब करना है के सामान्य मामलों को संभालता है।
यह संकुल को स्थापित करने से पहले करता है यदि मामले में मैनुअल परिवर्तन नहीं होते हैं, और स्थापित करने के बाद।


6

के लिए ट्रैकिंग विन्यास के साथ समस्या /etcमें gitहै कि सभी तुम सच में ऐसा करके हासिल संस्करण नियंत्रण (सबसे है gitnovices भी कैसे करने के लिए पता नहीं है tagऔर branchउस बिंदु पर ठीक से, तो संभावना नहीं) और रोलबैक (करने की क्षमता फिर से, यदि आप नहीं कर रहे ' टी taggingठीक से, आप कुछ भी लेकिन दोष लोगों के लिए एक लॉग) हासिल नहीं करते हैं; लेकिन आप टेम्प्लेटिंग खो देते हैं (कैंट टेम्प्लेट क्योंकि git प्रदान नहीं करता है), और स्केलिंग (आप केंट कॉन्फ़िगरेशन को कहीं और लागू कर सकते हैं; विशेष रूप से अगर आप वितरित डेटाबेस का उपयोग कर रहे हैं जैसे कि एलीस्टेसर्च), और स्वचालित सिस्टम प्रबंधन (फिर से, git doesnt यह प्रदान नहीं करता है) )।

इसके साथ ही कहा जा रहा है कि आप जो देख रहे हैं वह विन्यास प्रबंधन है ; में संबंधों कि templating , git, और बुनियादी पटकथा विन्यास प्रबंधन करने के लिए। यह, निश्चित रूप से कोड के रूप में DevOps और इन्फ्रास्ट्रक्चर की दिशा में नीचे जा रहा है ।

इसमें जोड़ने के लिए; Ansible के पास ansible-pullआपकी playbooks के नवीनतम रेपो को खींच सकता है git; यही बात शेफ के लिए भी सही है। मूल रूप से, आधुनिक लिनक्स प्रशासक कुछ का उपयोग नहीं कर रहे हैं etckeeper। बावर्ची भी क्लाइंट-सर्वर मोड जहां आप के साथ सभी प्रणालियों का प्रबंधन कर सकते है chef-clientके आधार पर environment, rolesऔर रसोई की किताब के संस्करणों; ऐसी चीजें जो आप gitपूरी तरह से और बड़े पैमाने पर नहीं कर सकते ।


इतना ही नहीं रोलबैक मुझे git के साथ मिलता है। मुझे तुलनीयता भी मिलती है (मशीनों और समय के बीच दोनों), और सिंक्रनाइज़ेशन भी। लेकिन मुझे लगता है कि कुछ और लक्षित उपकरणों के बारे में विचार उपयोगी है।
पीटर - मोनिका
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.