2012-02-24 12 views
5

का उपयोग कर मैं एक वेब अनुप्रयोग है और मैं एक वेबसर्वर MSDeploy.exe (वेब ​​तैनात 2)तैनाती मुद्दा MSDeploy आदेश

मैं 4 परिदृश्यों की कोशिश की है का उपयोग करने पर यह तैनात करने के लिए कोशिश कर रहा हूँ:

  1. VS2010 के माध्यम से निम्न सेटिंग के साथ विधि प्रकाशित करें:
    प्रकाशित विधि: वेब तैनात
    सेवा यूआरएल: https://MyServerName:8172/MsDeploy.axd
    साइट/आवेदन: MyWebSiteName 012,अविश्वस्त की अनुमति दें: जाँच की
    प्रयोक्ता नाम: MyUsername
    पासवर्ड: mypassword
    इस विधि ठीक काम करता है।
    MyServerName मशीन पर मेरे पास वेब प्रबंधन सेवा चल रही है; मेरे पास एक वेबसाइट MyWebSiteName है, एक एप्लिकेशन MyWebAppName और MyUserName इसके लिए एक आईआईएस प्रबंधक है।

  2. VS2010 के माध्यम से निम्न सेटिंग के साथ विधि प्रकाशित करें:
    प्रकाशित विधि: वेब तैनात
    सेवा यूआरएल: https://MyServerName:8172/MsDeploy.axd
    साइट/आवेदन: MyWebSiteName/MyWebAppName
    अविश्वस्त की अनुमति दें: जाँच की
    प्रयोक्ता नाम: MyUsername
    पासवर्ड: MyPassword
    यह विधि ठीक काम करती है।

  3. MSDeploy.exe कमांड लाइन (एक PowerShell स्क्रिप्ट के अंदर) के
    $ स्रोत = "contentPath = '...._ PublishedWebsites \ MyWebApp'"
    $ गंतव्य = "contentPath = MyWebSiteName, ComputerName = 'https के माध्यम से: //fc-wapps-trial:8172/MsDeploy.axd?Site=WebSiteTest',Username=MyUsername ,Password=MyPassword ,AuthType=basic "
    MSDeploy -verb: सिंक-स्रोत: $ स्रोत -डिस्ट: $ गंतव्य- अभी तक अविश्वसनीय
    यह विधि भी ठीक काम करती है।

  4. MSDeploy.exe कमांड लाइन (एक PowerShell स्क्रिप्ट के अंदर) के
    $ स्रोत = "contentPath = '...._ PublishedWebsites \ MyWebApp'"
    $ गंतव्य = "iisApp = MyWebSiteName/MyWebAppName, ComputerName = 'के माध्यम से https: // fc-wapps-trial: 8172/msDeploy.axd? साइट = वेबसाईटटेस्ट/MyWebAppName ', उपयोगकर्ता नाम = मेरा उपयोगकर्ता नाम, पासवर्ड = MyPassword, AuthType = मूल "
    MSDeploy -verb: सिंक-स्रोत: $ स्रोत -डिस्ट: $ गंतव्य-allow अविश्वसनीय
    यह विधि काम नहीं करती है। मुझे निम्नलिखित त्रुटि प्राप्त हो रही है।
    त्रुटि कोड: ERROR_USER_UNAUTHORIZED
    अधिक जानकारी: गंतव्य कंप्यूटर ("MyServerName") वेब प्रबंधन सेवा का उपयोग कर से कनेक्ट किया गया है, लेकिन अधिकृत नहीं कर सकता है। सुनिश्चित करें कि आप सही उपयोगकर्ता नाम और पासवर्ड का उपयोग कर रहे हैं, जिस साइट से आप कनेक्ट हो रहे हैं, और यह प्रमाण-पत्र उस उपयोगकर्ता का प्रतिनिधित्व करता है जिसके पास साइट तक पहुंचने की अनुमति है।
    त्रुटि: रिमोट सर्वर ने एक त्रुटि लौटा दी: (401) अनधिकृत।

मैं क्या actuall MSDeploy आदेश है पर उस विधि 2 का उपयोग करता है और मुझे मिल की तरह कुछ देख रहा था:
msdeploy.exe
स्रोत: प्रकट = '... \ MyWebApp.SourceManifest.xml '
-dest: auto, ComputerName =' https: // MyServerName: 8172/MsDeploy.axd? Site = WebSiteTest ', UserName =' MyUsername ', पासवर्ड =' MyPassword ', IncludeAcls =' False ', AuthType =' Basic '
-verb: सिंक
-disableLink: AppPoolExtension
-disableLink: ContentExtension
-disableLink: CertificateExtension
-skip: objectname = 'dirPath', absolutepath = '... \ App_Data $'
-setParam: प्रकार = 'ProviderPath', गुंजाइश = 'IisApp', मैच = '^ .. । \ PackageTmp $ ', मान = WebSiteTest/WebAppTest
-setParam: प्रकार =' ProviderPath ', गुंजाइश =' setAcl ', मैच ='^.. \ PackageTmp $ ', मान = WebSiteTest/WebAppTest
-allowUntrusted
-retryAttempts = 2
अब यह विधि 4 में जो कुछ भी उपयोग कर रहा है उसके करीब कुछ प्रतीत नहीं होता है। मैंने सफलता के बिना इसे चलाने की कोशिश की, लेकिन मुझे लगता है कि मैं उन सभी पैरामीटर को ठीक से फिर से बनाने में सक्षम नहीं था।

तो मेरे प्रश्न हैं:
- मैं विधि 4 में क्या गलत कर रहा हूं?
- मैं कैसे तुम्हारी मदद की
युलिआन

+0

आपने कैसे पूरा किया "... यह देखने के लिए कि विधि 2 का उपयोग करने वाले actuall MSDeploy कमांड क्या है"? –

+0

मुझे लगता है कि आप जवाब [यहां] ढूंढ सकते हैं (http://sedodream.com/2010/11/04/WebDeployHowToSeeTheCommandExecutedInVisualStudioDuringPublish.aspx)। वैसे वह कहता है कि एमएस प्रकाशन करते समय डिफ़ॉल्ट रूप से एमएसडीपेट ऑब्जेक्ट मॉडल का उपयोग करता है लेकिन आप इसे बदल सकते हैं। –

उत्तर

7

मैं के रूप में तुमने किया ही समस्या में भाग के लिए पहले से MSDeploy.exe आदेश का उपयोग


धन्यवाद IIS7 में एक वेबसाइट आवेदन के रूप में एक वेब अनुप्रयोग तैनात कर सकते हैं। मैंने इसे केवल https://computername:8172/msdeploy.axd?site= {websitenameonly} में साइट नाम का उपयोग करके हल किया। फिर -पासपैम आईआईएस वेब एप्लिकेशन नाम = {आपका वेब एप्लिकेशन नाम यहां} या पैरामीटर फ़ाइल का उपयोग करके पैरामीटर में अपना वेबप्लिकेशन पथ सेट करें। और सबकुछ ठीक से तैनात किया गया।

ऐसा लगता है कि साइट क्वेरीस्ट्रिंग मान केवल अनुरोध को अधिकृत करने के लिए आवश्यक है। मुझे किसी अन्य क्वेरीस्ट्रिंग पैरामीटर पर एमएस से कोई निश्चित दस्तावेज नहीं मिला है जो इसे हल कर सकता है। लेकिन मैंने वास्तव में 2 मामलों का परीक्षण किया। 1) आईआईएस 7.5 में एक वेबसाइट पर तैनाती, यह पैरामीटर आवश्यक है। 2) किसी वेब साइट के तहत किसी वेब एप्लिकेशन पर तैनाती, यह पैरामीटर वास्तव में वैकल्पिक है, लेकिन यदि आप इसे शामिल करना चाहते हैं, तो इसे रूट साइट होना चाहिए।

आपने वास्तव में यहां अपने प्रश्न का उत्तर दिया है, शायद इसे महसूस नहीं किया गया है।

+0

मैं इस तरह के देरी के साथ एक वैध जवाब चिह्नित करने के लिए माफी माँगता हूं! –

0

कृपया अपने प्रबंधन सेवा प्रतिनिधिमंडल की जांच करें (यदि आपने पहले से नहीं किया है)। केंद्र पैनल में सभी वेब परिनियोजन विकल्प लाने के लिए आईआईएस प्रबंधक में मुख्य साइट पर क्लिक करें। नीचे (पिछले एएसपी.नेट, आईआईएस, आदि), प्रबंधन के तहत, आपको "प्रबंधन सेवा प्रतिनिधिमंडल" सहित कई विकल्प देखना चाहिए।

इस कॉन्फ़िगरेशन के तहत आप सभी प्रदाता संदर्भों में भाग ले सकते हैं और पथ/प्रकार जिन्हें आप उनका उपयोग कर सकते हैं (और उपयोगकर्ता नामों के तहत, आदि ... बहुत बारीक हो सकते हैं)।

यह सुनिश्चित करें कि आप जिस प्रदाता प्रकार के तहत संवाद करने की कोशिश कर रहे हैं (iisApp, contentPath, आदि) केवल सूचीबद्ध नहीं है, लेकिन आपके पास आवश्यक पथ/दायरा है और आप अनुमतियों के तहत काम कर रहे हैं ।

याद रखें: अगर प्रतिनिधिमंडल सही तरीके से स्थापित किया गया है तो आपको व्यवस्थापक-प्रकार के उपयोगकर्ता का उपयोग करने की आवश्यकता नहीं है। और आप लागू साइट के आईआईएस प्रबंधक अनुमतियों पर गए हैं और एक स्वीकृत उपयोगकर्ता, जैसे डोमेन \ उपयोगकर्ता, या यहां तक ​​कि एक कस्टम आईआईएस प्रबंधक उपयोगकर्ता भी जोड़ा है।

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