2012-10-20 49 views
14

मैं अपनी बिल्ड प्रक्रिया में MSDeploy को एकीकृत कर रहा हूं, और समस्याएं प्रमाणीकरण कर रहा हूं। निम्न आदेश ठीक काम करता है:MSDeploy.exe व्यवस्थापक के रूप में कनेक्ट हो सकता है, लेकिन कोई अन्य Windows खाता

msdeploy -verb:sync -source:appHostConfig="KitchenPC",computerName=192.168.0.3,userName=Administrator,password=secret -dest:package=c:\DeployTest\KPC.zip 

हालांकि, यह काम नहीं करता:

msdeploy -verb:sync -source:appHostConfig="KitchenPC",computerName=192.168.0.3,userName=kpcpublish,password=secret -dest:package=c:\DeployTest\KPC.zip 

और त्रुटि पैदावार:

Error Code: ERROR_USER_NOT_ADMIN 
More Information: Connected to '192.168.0.11' using the Web Deployment Agent Service, but could not authorize. Make sure you are an administ 
rator on '192.168.0.11'. Learn more at: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_USER_NOT_ADMIN. 
Error: The remote server returned an error: (401) Unauthorized. 
Error count: 1. 

मैं कड़ी में उपरोक्त निर्देश का पालन किया है, और कोई other docs I could find, जो कि बहुत कुछ एक ही बात कहता है:

  1. मैं बुलाया MSDepSvcUsers एक खाता kpcpublish
  2. कहा जाता है मैं एक समूह के लिए इस खाते जोड़ा बनाया - ओह, मैं भी व्यवस्थापकों के लिए खाता जुड़े
  3. मैं सही साइट पर क्लिक किया और चयनित Deploy-> कॉन्फ़िगर वेब परिनियोजन प्रकाशन और सूची में केपीसी प्रकाशित करें। यह निम्नलिखित है:

Publish enabled for 'SERVER\kpcpublish' Granted 'SERVER\kpcpublish' 
full control on 'C:\Website' Successfully created settings file 
'C:\Users\Administrator\Desktop\SERVER_kpcpublish_KitchenPC.PublishSettings' 

वहाँ कुछ कदम मैं याद कर रहा हूँ होना चाहिए, लेकिन मैं तो बस समझ नहीं क्या हो सकता है।

अद्यतन:

Error Code: ERROR_DESTINATION_NOT_REACHABLE More Information: Could not connect to the remote computer ("192.168.0.3"). On the remote computer, make sure that Web Deploy is installed and that the required process ("Web Management Service") is started. Learn more at: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_DES TINATION_NOT_REACHABLE. Error: Unable to connect to the remote server Error: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection fa iled because connected host has failed to respond 192.168.0.3:8192 Error count: 1.

मैं देख लिया है और वेब प्रबंधन सेवा वास्तव में चल रहा है:

computerName संपत्ति के लिए पूरे HTTP पथ का उपयोग करना, मैं त्रुटि मिलती है।

एक और अद्यतन:

मैं पूरी तरह से प्रणाली प्रशस्त किया और खरोंच से फिर से इसे सेट अप किया है। मैंने सामान्य से कुछ भी नहीं किया है, बस आईआईएस भूमिका स्थापित की है और प्रबंधन उपकरण के तहत "प्रबंधन सेवा" की जांच करना सुनिश्चित किया है, जो WMSVC चलाने के लिए आवश्यक है। मैंने फिर वेब पीआई स्थापित किया, और "होस्टिंग प्रदाता के लिए अनुशंसित विन्यास" स्थापित किया, जो वेब परिनियोजन 3.0 स्थापित करेगा। हालांकि, मैंने देखा कि इसे स्थापित करते समय एक त्रुटि हुई थी (मुझे विश्वास है कि मुझे पिछली बार भी यह त्रुटि मिली है)। ऐसा लगता है कि:

enter image description here

मैं भी लॉग फाइल here संलग्न किया है।

फिर मैंने वेब परिनियोजन 3.0 मैन्युअल रूप से स्थापित करने का प्रयास किया, हालांकि यह कहता है कि यह पहले से स्थापित है। इसके बाद, मैंने सीधे एमएसआई को http://www.iis.net/download/webdeploy से डाउनलोड किया और इसे "मरम्मत" मोड में चलाया। ऐसा लगता है कि काम किया है। मैंने यह भी देखा कि WMSVC सेवा ऊपर और चल रही है। तो यह अच्छा लग रहा है।

फिर भी, एमएसडीईपी कनेक्ट नहीं होगा। मैंने सोचा कि यह फ़ायरवॉल मुद्दे का कुछ प्रकार हो सकता है, इसलिए मैंने इसे स्थानीय रूप से चलाया। मैंने कनेक्ट करने के लिए दोनों HTTPS और HTTP का उपयोग करने का प्रयास किया है।एचटीटीपीएस मुझे एक त्रुटि देता है, HTTP 2-3 मिनट के बाद बस बाहर।

HTTPS:

msdeploy -verb:sync -source:appHostConfig="Default Web Site",computerName=https://STAGING:8172/msdeploy.axd,userName=Administrator,password=Khorf123 -dest:package=c:\DeleteMe.zip 
Info: Using ID 'f3a54096-adc4-4f54-9e4f-ad8fde12edb6' for connections to the remote server. 
Error Code: ERROR_CERTIFICATE_VALIDATION_FAILED 
More Information: Connected to the remote computer ("staging") using the specified process ("Web Management Service"), but could not verify the server's certifi 
cate. If you trust the server, connect again and allow untrusted certificates. 
Learn more at: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_CERTIFICATE_VALIDATION_FAILED. 
Error: The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel. 
Error: The remote certificate is invalid according to the validation procedure. 
Error count: 1. 

HTTP:

msdeploy -verb:sync -source:appHostConfig="Default Web Site",computerName=http://STAGING:8172/msdeploy.axd,userName=Administrator,password=Khorf123 -dest:package=c:\DeleteMe.zip 
Info: Using ID 'ebee66f0-08e5-4d9d-98ea-0c2e59784895' for connections to the remote server. 
Error: Could not complete the request to remote agent URL 'http://staging:8172/msdeploy.axd'. 
Error: The operation has timed out 
Error count: 1. 
+0

सिर्फ एक विचार: फ़ाइल 'SERVER_kpcpublish_KitchenPC.PublishSettings' फ़ाइल को तैनात फ़ोल्डर में कहीं भी संग्रहीत नहीं किया जाना चाहिए, न कि आपके डेस्कटॉप में? – SearchAndResQ

+0

@ फ़्लेक्स - अनुसरण नहीं किया जा रहा है। समय के लिए, मैं बस काम करने के लिए सुनिश्चित करने के लिए वेब सर्वर से स्थानीय ज़िप संग्रह में सिंक करने की कोशिश कर रहा हूं। मुझे वास्तव में यकीन नहीं है कि * PublishSettings फ़ाइल के साथ क्या करना है, मैंने सोचा था कि यह बस इतना था कि आपको कमांड लाइन पर सभी कनेक्शन जानकारी टाइप करने की आवश्यकता नहीं थी। –

+0

सेटिंग्स फ़ाइल केवल तभी प्रासंगिक है जब आप इसे तैनाती के समय अपनी कॉन्फ़िगरेशन फ़ाइलों में मान इंजेक्ट करने के लिए उपयोग कर रहे हैं। – ulty4life

उत्तर

17

(अपडेट किया गया 2016/03/07 - नोट: गैर प्रशासक तैनाती भी की आवश्यकता होती है msdeploy.axd?site=IIS_SITE_NAME के बाद, अन्यथा कनेक्शन को वैश्विक के रूप में माना जाता है और प्रशासक पहुंच की आवश्यकता होती है)

यह सुनिश्चित नहीं है कि यह मूल रूप से कैसे चूक गया, लेकिन आपकी समस्या computerName पैरामीटर है। गैर-प्रशासक तैनाती केवल WMSVC का उपयोग करते समय समर्थित होती है, जिसके लिए आपको पूर्ण यूआरएल निर्दिष्ट करने की आवश्यकता होती है।

The computer name will be translated to the default Web Deploy URL. For example, computerName=Server1 will become http://Server1/MsDeployAgentService. If the remote service is running with a custom port or URL, you must specify the full URL

और from the install instructions:

The MSI will not install the Web Management Service handler component if the Web Management Service is not installed; the handler component is necessary for non-administrator deployments

(मैं एक और अधिक स्पष्ट विहित स्रोत है कि एक आवश्यकता के रूप में WMSVC का वर्णन नहीं पा सके

निम्नलिखित

msdeploy -verb:sync^
    -source:appHostConfig="KitchenPC",computerName=https://192.168.0.3:8172/MsDeploy.axd,userName=kpcpublish,password=secret,authType=Basic^
    -dest:package=c:\DeployTest\KPC.zip 

From the docs प्रयास करें गैर-व्यवस्थापक तैनाती के लिए)

+0

'authType' सेट करने के साथ ही त्रुटि। मशीन नाम से, आपका मतलब DNS नाम है? उसके साथ वही त्रुटि। और याद रखें, यह * * * कनेक्ट करता है और यह व्यवस्थापक प्रमाण-पत्रों के साथ काम करता है। –

+0

एचआरएम, क्लाइंट और सर्वर दोनों पर MSDeploy v3 स्थापित है? –

+0

हां। जैसा कि मैंने कहा, अगर मैं व्यवस्थापक उपयोगकर्ता नाम और पासवर्ड का उपयोग करता हूं तो यह * पूरी तरह * काम करता है। –

15

इसे समझ लिया गया!

तो ऐसा लगता है कि (कम से कम डिफ़ॉल्ट रूप से), WMSVC केवल HTTPS पर सुनता है, और HTTP बस समय समाप्त हो जाएगा। हालांकि, चूंकि मेरा प्रमाणपत्र स्वयं हस्ताक्षरित था, इसलिए मुझे -allowUntrusted कमांड लाइन विकल्प का उपयोग करना पड़ा।

वह लगभग पर्याप्त था। मुझे रिचर्ड मूल रूप से सुझाव दिया गया था कि मुझे authType = Basic निर्दिष्ट करना भी था। इसलिए, यह सब एक साथ रखा है, इस MSDeploy कमांड लाइन है कि वास्तव में काम करेगा:

msdeploy -verb:sync -source:appHostConfig="Default Web Site",computerName=https://192.168.0.3:8172/msdeploy.axd,authType=Basic,userName=Publish,password=secret -dest:package=c:\DeployTest\KPC.zip -allowUntrusted 
+0

आपके अपडेट के लिए धन्यवाद। Msdeploy.exe से 404 पर आत्मघाती हो रहा है, रिमोट आईआईएस जो 8172 कार्यों का उपयोग करता है। –

+2

@LukePuplett - हाँ यह आम तौर पर काम करने के लिए निराशा की एक शाम है, हालांकि यह बहुत मुश्किल है जब यह करता है! एफ़टीपी फाइलों की तुलना में बेहतर तरीका है। आखिर में मैंने इसे पावरशेल स्क्रिप्ट्स में लपेट लिया ताकि मैं बस * प्रकाशित मंच * या * प्रोड प्रोड * –

+0

कहूं, मुझे समझ में नहीं आ रहा है कि यह PowerShell CmdLets का समूह क्यों नहीं है - वेब प्रबंधन के लिए नए सीएमडीलेट्स का एक भार है इसलिए मैं भविष्य में एमएसडीओपी छोड़ सकता हूं। यह हमेशा एक पिटा है। मुझे अपना 404 http://stackoverflow.com/questions/13870561/getting-a-404-from-wmsvc-via-msdeploy-exe –

1

लक्ष्य मशीन

+0

यह प्रश्न का उत्तर नहीं प्रदान करता है। किसी लेखक से स्पष्टीकरण की आलोचना करने या अनुरोध करने के लिए, अपनी पोस्ट के नीचे एक टिप्पणी छोड़ दें - आप हमेशा अपनी पोस्ट पर टिप्पणी कर सकते हैं, और एक बार आपके पास पर्याप्त [प्रतिष्ठा] (http://stackoverflow.com/help/whats-reputation) हो [किसी भी पोस्ट पर टिप्पणी करने में सक्षम] [http://stackoverflow.com/help/privileges/comment)। – fejese

+0

मुझे नहीं पता कि आप ऐसा क्यों कहेंगे। मैंने इसका उत्तर दिया क्योंकि यह सही कार्रवाई थी जिसने मेरे लिए इस मुद्दे को हल किया। मेरे पास इस पोस्ट में उल्लिखित एक ही समस्या थी और यहां दिए गए किसी भी उत्तर ने मुझे मदद नहीं की लेकिन मैंने पोस्ट किया। और मेरा इरादा किसी भी ऐसे व्यक्ति की मदद करना है जो भविष्य में इसी तरह के मुद्दे का सामना कर सके –

0

जैसा कि ऊपर उल्लेख पर wmsvc सेवा पुन: प्रारंभ करके सुनिश्चित करें कि आप कनेक्ट कर रहे हैं बनाने के एचटीटीपीएस पर। आप व्यवस्थापक के रूप में कनेक्ट करने के लिए प्रयास कर रहे हैं, लेकिन SSL का उपयोग नहीं करते हैं, तो आपको निम्न त्रुटि मिलती है:

Error Code: ERROR_USER_NOT_ADMIN

More Information: Connected to 'host' using the Web Deployment Agent Service, but could not authorize. Make sure you are an administrator on 'host'.

1

वेब अपने सर्वर as follows तैनात कॉन्फ़िगर करने के बाद (कहाँ 'होस्ट' अपने सर्वर नाम है)। मैं HTTP 404 कनेक्शन विफलताओं प्राप्त करने के लिए जारी रखा। मेरे लिए जो काम किया गया वह निम्नलिखित अतिरिक्त प्रयास था ...

  1. मौजूद वेब परिनियोजन के पिछले सभी संस्करणों को अनइंस्टॉल करें। मुझे यह भी पता नहीं था कि वे अस्तित्व में थे; हालांकि, पिछले संस्करण नवीनतम वेब परिनियोजन सेवा से कनेक्शन पूरा करने के साथ संघर्ष में दिखाई देते हैं। नया संस्करण अपने पूर्ववर्तियों को अनइंस्टॉल नहीं करता है। आखिरी भाग में, मुझे HTTP 401.7 - File Extension Denied मिल रहा था।
  2. अच्छा उपाय के लिए, अच्छा उपाय के लिए वर्तमान में Microsoft Web Deploy 3.6
  3. वेब तैनात के वर्तमान संस्करण के मरम्मत प्रदर्शन किया,, पुन: बनाने और मेरे विजुअल स्टूडियो 2013 तैनाती प्रोफ़ाइल आयात ...
    1. Configure Web Deploy Publishing का उपयोग कर publish settings file पुन: के Connections पैनल में लक्षित वेबसाइट के Deploy संदर्भ मेनू विकल्प से संवाद उपलब्ध है। (ध्यान दें, publish settings file, निर्मित हो जाएगा जब आप फ़ाइल जिसका पूरा पथ संवाद प्रविष्टि में निर्दिष्ट किया जाता है के रूप में Setup प्रेस Specify a location to save the publish settings file)
    2. कॉपी या अन्यथा publish settings file दृश्य स्टूडियो के लिए उपलब्ध है और अपनी परियोजना के संदर्भ मेनू से Publish का चयन, बनाने publish settings file आयात करके एक विजुअल स्टूडियो प्रकाशित प्रोफ़ाइल बनाएं।
0

मेरे लिए समस्या यह है कि अपना पासवर्ड समाप्त हो गई है ... जब loging बाहर मैं इसे देखा है और फिर वापस दूरस्थ डेस्कटॉप trhough के लिए लॉग इन करने की कोशिश की थी।