2013-10-24 15 views
7

के बजाय msdeploy के साथ प्रोजेक्ट को कैसे तैनात करें आज मैं एक आईआईएस सर्वर पर वेब अनुप्रयोग को तैनात करने के लिए msbuild का उपयोग करता हूं। मैं msdeploy (कमांड लाइन) के साथ ऐसा कैसे कर सकता हूं?msbuild

MSBuild.exe myproject.csproj 
/P:VisualStudioVersion=11.0 
/P:Password=pass 
/P:AllowUntrustedCertificate=true 
/P:DeployOnBuild=True 
/P:PublishProfile=deploytest 
/P:DeployIISAppPath="Default Web site" 
/P:MsDeployServiceUrl=my.server.com 
/P:Configuration=Release 

उत्तर

14

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

बनाएं पैकेज

एक पैकेज बनाने के लिए अपने MSBuild कमांड लाइन के लिए निम्न जोड़ें:

/p:DeployTarget=Package 
/p:PackageLocation=MyProject.zip 
/p:CreatePackageOnPublish=True 

तैनात पैकेज

msdeploy.exe 
    -verb:sync 
    -source:Package=MyProject.Zip 
    -destination:auto:ComputerName="my.server.com" 

तुम भी से बढ़ावा देने के लिए चाहते हो सकता है एक दूसरे को तैनात साइट।

क्लोन साइट

msdeploy.exe 
    -verb:sync 
    -source:appHostConfig="my.server.com" 
    -dest:appHostConfig="mynew.server.com" 

या आप पहले से ही एक साइट है कि आप लक्षित करना चाहते हो सकता है।

क्लोन आवेदन

msdeploy.exe 
    -verb:sync 
    -source:iisApp="my.server.com/MyApp" 
    -dest:iisApp="my.server.com/MyNewApp" 
+0

वहाँ वेब का उपयोग करने के केवल तैनात कोई तरीका है? –

+0

आप msdeploy का उपयोग करके निर्माण नहीं कर सकते हैं, लेकिन आप msbuild का उपयोग करके निर्माण और तैनाती कर सकते हैं या आप msbuild के साथ निर्माण कर सकते हैं और msdeploy के साथ तैनात कर सकते हैं। मुझे यहां आपके उपयोग के मामले की जानकारी नहीं है? –

+0

ठीक है। मुझे लगता है मैं अब समझ गया। मैंने msbuild को "ऐसा करने का पुराना तरीका" माना और क्लीनर तरीके से msdeploy। लेकिन जब आप इसे इस तरह रखते हैं तो यह समझ में आता है। Thanx! –