2011-08-17 20 views
5

क्या कोई व्यक्ति (तकनीकी/msdn दस्तावेज़ों से बेहतर) समझा सकता है कि ऑटो प्रदाता वास्तव में क्या करता है, यह कैसे काम करता है, और इसका उपयोग कब किया जाता है।वेब परिनियोजन (msdeploy.exe) में ऑटो प्रदाता वास्तव में क्या है

यह वेब परिनियोजन के संबंध में है। मैंने बहुत सारे दस्तावेज निर्दिष्ट किए हैं -डिस्ट: ऑटो और यह वास्तव में मुझे समझ में नहीं आता है।

ऑटो प्रदाता निर्दिष्ट करता है कि गंतव्य पर प्रदाता स्रोत प्रदाता के समान होगा।

उदाहरण

msdeploy.exe -verb: सिंक स्रोत: appHostConfig = "MySite" -dest: ऑटो, computername = Server1

ऑटो प्रदाता के लिए पूरा पथ में प्रवेश करने से बचने के लिए सक्षम बनाता है -dest तर्क जब गंतव्य तर्क -सोर्स तर्क के समान है। यह एक संग्रह या पैकेज से अलग से मेनिफेस्ट फ़ाइल की प्रतिलिपि बनाने की आवश्यकता को भी हटा देता है।

ऑटो प्रदाता आपके द्वारा निर्दिष्ट स्रोत लेता है और गंतव्य कंप्यूटर पर संबंधित स्थान का उपयोग करता है। उदाहरण के लिए, यदि आप स्रोत के रूप में appHostConfig = Site1 निर्दिष्ट करते हैं, तो लक्ष्य कंप्यूटर पर गंतव्य साइट 1 होगा। यह तब उपयोगी होता है जब आप दूरस्थ वेबसाइट पर "जैसा है" वेबसाइट को सिंक्रनाइज़ करना चाहते हैं।

technet docs for auto provider

उदाहरण है कि मतलब नहीं है:

msdeploy.exe -verb:sync -source:package=myapp.zip -dest:auto 

क्यों आप कभी भी स्रोत के लिए वास्तव में गंतव्य सेट होगा? मुद्दा क्या है? क्या आप बस iteslf के साथ स्रोत overwiting नहीं कर रहे हैं?

"C:\Program Files\IIS\Microsoft Web Deploy V2\\msdeploy.exe" -source:package='MySourcePath' -dest:auto" 

ऑटो इसका मतलब यह नहीं है स्रोत सिर्फ खुद के ऊपर लिख देगा:

उत्पन्न cmd फ़ाइल VS2010 में एक पैकेज प्रकाशित करने से उत्पन्न कुछ इस तरह उत्पन्न करता है? लेकिन ऐसा नहीं होता है, यह वास्तव में आईआईएस वेब साइट (मैनिफेस्ट में सेटिंग्स के आधार पर) अपडेट करता है

मैंने गंतव्य के रूप में पैकेज का उपयोग करने का प्रयास किया है और इस मामले में उसने स्रोत पैकेज अपडेट किया है और आईआईएस साइट नहीं ।

इस प्रश्न के उत्प्रेरक यह है कि मैं सीआई लागू कर रहा हूं और मैंने हमेशा अतीत में एमएसबिल्ड/एक्सकॉपी का उपयोग किया है। मैं अब msdeploy का उपयोग करना चाहता हूँ। मैं दृश्य स्टूडियो से उत्पन्न myproject.cmd को कॉल करने के बजाए इसे समझना चाहता हूं।

उदाहरण के लिए, this SO link नियत तर्क के लिए ऑटो प्रदाता का उपयोग निर्दिष्ट करता है।

धन्यवाद

उत्तर

4

मैं आप वास्तव में अपने आप के लिए इस सवाल का जवाब खोज निकाला है लगता है।

यदि स्रोत एक पैकेज है और गंतव्य ऑटो है, तो इसका मतलब यह है कि के अंदर निर्दिष्ट घटक "पैकेज को" अनजिप "किया जाएगा और गंतव्य सर्वर पर रखा जाएगा। -सोर्स में: पैकेज -डिस्ट: ऑटो सिंटैक्स, "ऑटो" का मतलब यह नहीं है कि पैकेज ही गंतव्य है।

और, जैसा कि आप देखते हैं, यदि आप गंतव्य के रूप में एक पैकेज निर्दिष्ट करते हैं, तो जो भी आप स्रोत के लिए निर्दिष्ट करते हैं, वास्तव में एक ज़िप फ़ाइल के रूप में पैक किया जाएगा जिसे आप बाद में कहीं और तैनात करने के लिए स्रोत के रूप में उपयोग कर सकते हैं।

+0

दूसरा अनुच्छेद - इसे खींचा। –

+0

मैं समझता हूं कि स्रोत साइट के भीतर डिफिंट किया जाएगा, लेकिन किसी भी कारण से कि किसी भी तरह से कमांड में निर्दिष्ट -ignore विशेषताओं को अनदेखा करने के समान है। मैं ऐसा करने की कोशिश कर रहा हूं क्योंकि मैं मुख्य ऐप के प्रमाणीकरण द्वारा वर्चुअल निर्देशिका सामग्री को संरक्षित करना चाहता हूं। मैंने यहां अपना प्रश्न पोस्ट किया है: http://stackoverflow.com/questions/23548022/nested-virtual-directory-deleted-on-msdeploy –

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