मैं जानता हूं कि यह एक बहुत ही मूल प्रश्न है। अगर कोई मुझसे विनोद कर सकता है और मुझे बता सकता है कि वे इसे कैसे संभालेंगे, तो मैं बहुत अच्छा महसूस करूँगा।
मैंने इसे पोस्ट करने का फैसला किया क्योंकि मैं नीचे दिए गए मुद्दे को मापने के लिए सिंटटोय को स्थापित करने वाला हूं, और मुझे "टॉय" का उपयोग करके थोड़ा अव्यवसायिक लग रहा है, लेकिन मैं बेहतर तरीके से नहीं सोच सकता।
कई बार मुझे पता चलता है कि जब मैं इस स्थिति में होता हूं, तो मैं चीजों को करने के लिए कुछ दर्दनाक तरीके से याद कर रहा हूं - यह कंपनी में एकमात्र डेवलपर होने से आता है।
- ASP.NET वेब अनुप्रयोग मेरे कंप्यूटर पर काम पर विकसित हुआ
- समाधान में 2 परियोजनाएँ हैं:
- वेबसाइट (फाइलें)
- वेबसाइटलिब (C # / dll)
- Git भंडार का उपयोग करना
- एक GoGrid 2008R2 वेब सर्वर पर तैनात है
तैनाती:
- कोड परिवर्तन करें।
- पुश टू गिट।
- दूरस्थ डेस्कटॉप सर्वर के लिए।
- गिट से खींचो।
- खिड़कियों एक्सप्लोरर के साथ / खींचकर लाइव फ़ाइलों को अधिलेखित करें।
चरण 5 में, मैं वेबसाइट रूट से सभी फाइलें हटाता हूं। यह एक अच्छी बात नहीं हो सकती है। इसलिए मैं SynTToy स्थापित करने के बारे में हूँ ...
अद्यतन: सभी उपयोगी प्रतिक्रियाओं के लिए धन्यवाद। मैं जवाब नहीं दे सकता, जो कि एक वेब परिनियोजन का उपयोग करने के बीच उत्तर को चिह्नित करता है - ऐसा लगता है कि मेरे पास कई उपयोगी शर्करा हैं:
- वेब प्रोजेक्ट = एक डीएलएल में पैक की गई पूरी साइट - मेरे लिए डाउनसाइड मैं सरल अपडेट को धक्का नहीं दे सकता - 50 की कंपनी में एक अकेला डेवलपर होने के नाते, यह कुछ ऐसा है जो कई बार सरल होता है।
- साइट के वेब रूट में SCM से सीधे खींचते हुए - मैंने मूल रूप से इस डर से ऐसा नहीं किया कि मेरी SCM छिपी हुई निर्देशिका समाप्त हो सकती है, लेकिन यहां दिए गए जवाबों ने मुझे इससे उबरने में मदद की (हालांकि मुझे अभी भी एक पसंद नहीं है सुनिश्चित करने के लिए भूल जाने के बारे में चिंता करने वाली अधिक बात समय के साथ अभी भी सही है)
- वेब फ़ार्म का उपयोग करना, और व्यवस्थित रूप से नोड्स पर तैनाती करना - यह शून्य डाउनटाइम के लिए आदर्श समाधान है, जो वास्तव में कुछ है जिसकी मुझे परवाह है क्योंकि साइट अनिवार्य रूप से मेरी कंपनी के लिए एक वास्तविक समय का राजस्व स्रोत है - हो सकता है कि मुझे उन्हें समझाने में मुश्किल समय हो। हालांकि सर्वर की लागत से दोगुना है।
-> आखिरकार, मूल प्रिंसिपल का पुन: प्रवर्तन जो साइट के लिए एक सिंगल क्लिक परिनियोजन की आवश्यकता है या फिर ELSE THIME SOMETHING WRONG शायद सबसे उपयोगी चीज है जो मुझे उत्तरों से मिली।
अद्यतन 2: मैंने सोचा था कि मैं इस पर वापस आता हूं और वास्तविक समाधान के साथ अद्यतन करता हूं जो अब कई महीनों के लिए है और पूरी तरह से काम कर रहा है (मेरे एकल वेब सर्वर समाधान के लिए)।
मेरे द्वारा उपयोग की जाने वाली प्रक्रिया है:
- कोड परिवर्तन करें
- पुश टू गिट
- दूरस्थ डेस्कटॉप सर्वर के लिए
- गिट से खींचो
निम्न बैच स्क्रिप्ट चलाएँ:
सीडी सी: \ उपयोगकर्ता \ प्रशासक
% systemroot% \ system32 \ inetsrv \ appcmd.exe रोक साइट "/site.name:Defin वेब साइट"
डॉक्यूमेंट्री डॉक्यूमेंट्स \ कोड \ दा \ 1 \ वर्क \ ट्री \ LendingTreeWebSite1 c: \ inetpub \ wwwroot / E / XF connectionconfig Web.config
% systemroot% \ system32 \ inetsrv \ appcmd.exe साइट शुरू करें "/ site.name:Defin वेब साइट"
जैसा कि आप देख सकते हैं कि यह साइट को नीचे लाता है, रोबोकॉपी का उपयोग बुद्धिमानी से उन फ़ाइलों को कॉपी करने के लिए करता है जो बदल गई हैं और फिर साइट को वापस लाती हैं। यह आमतौर पर 2 सेकंड से भी कम समय में चलता है। चूँकि इस साइट पर पीक ट्रैफिक लगभग 2 अनुरोध प्रति सेकंड है, इसलिए साइट अपडेट प्रति 4 अनुरोध गायब हैं।
साइन मैंने जिट के साथ अधिक कुशल प्राप्त किया है मैंने पाया है कि "मैनुअल प्रक्रिया" होने के ऊपर पहले चार चरण भी स्वीकार्य हैं, हालांकि मुझे यकीन है कि मैं पूरी चीज को एक क्लिक में रोल कर सकता था अगर मैं चाहता था।
AppCmd.exe के लिए प्रलेखन यहाँ है । रोबोकॉपी के लिए प्रलेखन यहाँ है ।