git तैनाती विंडोज़ मशीन के लिए


0

मैं संज्ञानात्मक तंत्रिका विज्ञान (एक मालिकाना भाषा में) में एक प्रयोग में उत्तेजना प्रस्तुति के लिए स्क्रिप्ट विकसित कर रहा हूं। इन लिपियों को 'डिप्लॉय करने' का मतलब बस उन्हें एक प्रयोगशाला में विंडोज 7 मशीन के डेस्कटॉप पर कॉपी करना है, जहां से विभिन्न प्रयोगकर्ता उन्हें लॉन्च कर सकते हैं। यह मशीन एक वीपीएन के अंदर रहती है और इंटरनेट से कनेक्ट हो सकती है, लेकिन यह हमेशा चालू नहीं होती है और केवल अनियमित अंतराल पर चालू होती है और विभिन्न उपयोगकर्ता खातों द्वारा लॉग इन की जाती है। मेरे पास इस पर व्यवस्थापक अधिकार हैं, प्रति सप्ताह केवल दो बार भौतिक पहुंच।

मैं git + github का उपयोग करना चाहूंगा लेकिन सोच रहा हूं कि इस तरह के वर्कफ़्लो में 'तैनाती' को कैसे लागू किया जाए। एक विचार यह होगा कि 'प्रोडक्शन' मशीन पर गिट स्थापित करें और हर टास्क / नियमित रूप से मास्टर ब्रांच के 'गिट पुल' के लिए विंडो टास्क शेड्यूलर का उपयोग करें। यह मशीन के वर्तमान उपयोगकर्ता (कोई यूएसी प्रॉम्प्ट या संभावित त्रुटि पॉपअप) के लिए अदृश्य नहीं होगा और सिस्टम प्रदर्शन को प्रभावित नहीं करेगा; महत्वपूर्ण रूप से, यदि मेरा प्रयोग वर्तमान में चल रहा है, तो फ़ाइलों को स्पर्श नहीं किया जाना चाहिए। अगर यह व्यवहार्य है, तो यह जानकारी के रूप में गिट इतिहास में दिखाई देने वाली खींचतान को बेहतर बनाने के लिए क्या एक अच्छा तरीका होगा, जिसमें यह जानकारी भी शामिल है कि क्या कोई बदलाव खींचा गया था? अनुक्रम इस तरह होगा:

changes to develop branch -> merge develop into master (maybe tag it with a version number) -> time goes by -> 'production' machine does a git pull

अगली बार जब प्रयोग किया जाएगा, तो इस संस्करण के परिवर्तन प्रभावी होंगे।

इसका मतलब यह होगा कि कभी-कभी मास्टर शाखा के टैग किए गए संस्करण होते हैं जो इसे उत्पादन मशीन पर कभी नहीं बनाते हैं क्योंकि मैंने उत्पादन मशीन को फिर से चालू करने से पहले एक नए संस्करण को धक्का दिया था।


प्रयोग को सीधे लॉन्च करने और शेड्यूल करने के बजाय git pull, आप एक सरल "लॉन्च" प्रोग्राम बना सकते हैं जो सबसे हालिया प्रयोग को खींचता है और फिर इसे लॉन्च करता है।
नॉनलाइनयरफ्रूट

हां, मैंने उसके बारे में भी सोचा। इसमें प्रयोगकर्ताओं की छोटी-सी शिक्षा शामिल होगी, लेकिन सबसे साफ समाधान की तरह लगता है। मैं यहां दी गई सलाह पर भी ध्यान दूंगा । हालाँकि, मुझे अन्य विकल्पों में दिलचस्पी होगी, जिनमें प्रयोग शुरू करने से पहले स्क्रिप्ट चलाना शामिल नहीं है। मैं लैब में पीसी को रिमोट के रूप में स्थापित करने का भी प्रयास कर सकता था और एक स्क्रिप्ट को किसी अन्य सर्वर पर रहता था जो समय-समय पर जांच करता है कि 'उत्पादन' पीसी ऑनलाइन है या नहीं। हालांकि, मैं अब निरंतर तैनाती के बारे में बहुत कुछ नहीं जानता और वास्तव में नहीं जानता कि कहां से शुरू करना है।
मथुस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.