2010-07-14 9 views
7

मैं किसी साइट की तैनाती को स्वचालित करने की कोशिश कर रहा हूं। मैं इस articleMSBuild 4 और MSDeploy कमांड लाइन

के साथ शुरू किया और सब कुछ वी.एस. 2010 से अच्छा काम करता है लेकिन, मैं कमांड लाइन साथ समस्या आ रही है मैं इस

c:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe "d:\Projects\test.csproj" /T:Package /P:PackageLocation="d:\Package\packageTest.zip" 

का उपयोग पैकेज बनाने के लिए

और

d:\Projects\packageTest.deploy.cmd "-setParam:name='IIS Web Application Name',value=MSBuild/Test2" /y 

कम से कम सही तरीके से तैनात करने के लिए। हालांकि, यह आईआईएस विकल्पों में से कोई भी नहीं लेता है (ऐप पूल एएसपी.नेट v2.0 के बजाय एमएसबिल्ड है), जैसा कि मैंने पहले कहा था, आईआईएस वेब एप्लिकेशन का नाम गलत है। यह जानकारी .csproj फ़ाइल से नहीं लेनी चाहिए? ये सभी सेटिंग्स डीबग कॉन्फ़िगरेशन और प्लेटफ़ॉर्म के लिए की जाती हैं, किसी भी cpu

+0

मुझे अभी भी पता नहीं है कि प्लेटफॉर्म एमएसबिल्ड क्या लेता है, लेकिन जब मैंने वीएस 2010 में सभी प्लेटफार्मों के लिए इन बदलावों को सेट किया, तो ठीक काम किया। – gapo

+0

आईएस वेब एप्लिकेशन नाम सेट किए बिना भी। यह सवाल बंद होना चाहिए – gapo

उत्तर

6

आप आमतौर पर सही पथ, एप्लिकेशन पूल और आगे के साथ आईआईएस पर अपना आवेदन सेट करते हैं। जब सेटअप आप इस तरह है कि आवेदन नाम में तैनात करने के लिए MSBuild का उपयोग कर सकते हैं:

Import-Module WebAdministration 
New-Item iis:\Sites\<your_site_name> -bindings @{protocol="http";bindingInformation=":80:<your_site_name>} -physicalPath c:\inetpub\wwwroot\<your_site_name> 
Set-ItemProperty 'IIS:\Sites\<your_site_name>' ApplicationPool "ASP.NET v4.0" 
:

msbuild <your_web_project_name>.csproj /p:Configuration=Release /p:OutputPath=bin /p:DeployOnBuild=True /p:DeployTarget=MSDeployPublish /p:MsDeployServiceUrl=https://<url_to_your_server>:8080/msdeploy.axd /p:username=<username> /p:password=<password> /p:AllowUntrustedCertificate=True /p:DeployIisAppPath=<your_site_name> /p:MSDeployPublishMethod=WMSVC /p:VisualStudioVersion=11.0 

आप साइट को मैन्युअल रूप से सेटअप करने के लिए नहीं करना चाहते हैं, तो आप इस तरह एक शक्ति खोल देख कुछ चला सकते हैं