5

मेरे पास उचित कुछ परियोजनाओं के साथ समाधान है, उनमें से 3 वेब-आधारित (आईआईएस/एमवीसी साइट में डब्ल्यूसीएफ)। जब समाधान बनाता है, तो यह इस 'वितरित' फ़ोल्डर में प्रत्येक वितरित सिस्टम के प्रत्येक घटक को 'बिल्ड' फ़ोल्डर में डंप करता है। पूरे आउटपुट के 'कॉन्फ़िगरेटर' भाग को चलाने से क्लाउड में सिस्टम स्वचालित रूप से स्थापित हो जाएगा। यह बहुत साफ है :) हालांकि, वेब परिनियोजन परियोजनाएं एक बड़ा दर्द हैं। वे "निर्माण" (यानी तैनाती) हर एक, एकल, समय मैं बनाता हूं - भले ही उनके संबंधित परियोजनाओं में कोई बदलाव नहीं किया गया हो।वेब परिनियोजन परियोजनाओं के लिए बेहतर विकल्प

कोड की एक पंक्ति बदल दी? 3 वेब परियोजनाओं को पुन: नियोजित करने के लिए लगभग एक मिनट प्रतीक्षा करने की प्रतीक्षा करें।

[ये परियोजनाएं समय पर बहुत स्पष्ट हैं - दो एक भी .svc और एक .ashx फ़ाइल है - अन्य ~ 5 दृश्यों के साथ एक MVC अनुप्रयोग है]

मुझे पता है मैं समाधान विन्यास को नहीं बदल सकते उन्हें 'बनाएं', लेकिन मैं ऐसा कर रहा हूं और अगले दिन लॉग ऑन करना और इसके बारे में भूलना बहुत आसान है, और वितरित सिस्टम में बग्स को ट्रैक करने में कुछ घंटों खर्च करते हैं, जो कि बस कुछ नहीं बनाया गया है।

मैं वेब परिनियोजन परियोजनाओं का उपयोग क्यों करता हूं? खैर, क्योंकि मुझे वेब प्रोजेक्ट से सभी पेजों + बाइनरी की ज़रूरत है। प्रोजेक्ट के लिए बिल्ड आउटपुट ही 'बिन' फ़ोल्डर है, इसलिए कोई पेज नहीं है। संपूर्ण परियोजना फ़ोल्डर? इसमें .cs, .csproj और अन्य फ़ाइलें हैं जिन्हें मैं शामिल नहीं करना चाहता हूं।

यह अंततः बिल्ड सर्वर पर निर्माण करेगा, लेकिन फिलहाल यह स्थानीय है। लेकिन मैं वेब प्रोजेक्ट से वास्तविक लक्ष्य फ़ाइलों को अपने लक्षित फ़ोल्डर में लाने का एक त्वरित तरीका चाहता हूं। कोई विचार?

उत्तर

2

अंत में मैंने एक प्रोजेक्ट फ़ाइल दी, जो कि वेब प्रोजेक्ट के लिए प्रोजेक्ट फ़ोल्डर को लक्षित स्थान पर XCOPYies देता है, फिर प्रोजेक्ट फ़ाइल में दिखता है और कुछ भी हटा देता है जिसमें बिल्ड एक्शन सेट नहीं है परिपूर्ण होने के लिए। बहुत तेज़ और प्रभावी।

+1

+1, क्योंकि यही वह है जो मैंने हाल ही में किया था। बहुत सारे जादू को हटा देता है और सीधे आगे और आसानी से स्वचालित होता है। – Kugel

1

मुझे पता है कि यह अभी भी आरसी में है लेकिन वीएस2012 में प्रकाशित होने पर एक साफ सुविधा है कि यह परिवर्तनों का पता लगाता है और केवल उनको प्रकाशित करता है। बिल्ड में थोड़ा गहरा हो सकता है जहां यह स्वचालित प्रकाशन भी करता है।

2

सुनिश्चित नहीं हैं कि अगर यह, अपनी स्थिति में मदद मिलेगी (खुद परियोजना को आने के लिए प्लग), लेकिन मैं एक परियोजना में आसानी मदद करने के लिए पर काम कर रहा हूँ की तैनाती IIS:

https://github.com/twistedtwig/AutomatedDeployments

विचार किया जा रहा आप कर सकते हैं स्थानीय रूप से (देव मशीन) या दूरस्थ रूप से (परीक्षण और उत्पादन मशीन) साइटों के निर्माण और अद्यतन को स्वचालित करने के लिए IIS (ऐप पूल, एप्लिकेशन और वेबसाइट) के लिए कॉन्फ़िगरेशन फ़ाइलों का उपयोग करें।

यह अभी भी प्रगति पर एक काम है लेकिन उत्पादन प्रणालियों में उपयोग करने के लिए तैयार है।

एक पोस्ट बिल्ड चरण के रूप में पैकेज निर्माण का उपयोग करके आप जो चाहते हैं उसके करीब हो सकते हैं, (विश्वास नहीं है कि इसमें सभी अतिरिक्त फ़ाइलें शामिल हैं), लेकिन यह अब भी हर बार इसे बनाएगी, (हालांकि अगर कोड है ' टी बदल नहीं है जब तक कि आप सभी परियोजनाओं का पुनर्निर्माण नहीं चुनते) इसे पुनर्निर्माण नहीं करना चाहिए)।

0

आप ऑक्टोपस प्रोजेक्ट पर एक नज़र डाल सकते हैं: http://octopusdeploy.com/ न्यूजेट पैकेज पर आधारित परिनियोजन।

संबंधित मुद्दे