2013-10-24 20 views
7

Dzisiaj używam msbuild do wdrażania aplikacji WWW na serwerze iis. Jak mogę zrobić to samo z msdeploy (wiersz poleceń)?Jak wdrożyć projekt za pomocą narzędzia msdeploy zamiast 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 

Odpowiedz

14

To zależy co chcesz przepływ pracy, aby być, jeśli chcesz zapakować wyjście i wdrażać osobno że wtedy trzeba utworzyć plik zip ze swojej kompilacji.

Tworzenie pakietu

Dodaj poniższe linie do linii poleceń msbuild stworzyć pakiet:

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

Deploy Package

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

Można też chcesz promować z jeden wdrożył witrynę w innej.

Clone Site

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

A może masz już witrynę, którą chcesz kierować.

Clone Application

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

Czy istnieje sposób na wykorzystanie sieci wdrożyć tylko? –

+0

Nie można zbudować za pomocą msdeploy, ale można budować i wdrażać za pomocą msbuild lub budować za pomocą msbuild i wdrażać za pomocą msdeploy. Nie jestem pewien waszego przypadku użycia? –

+0

Ok. Myślę, że rozumiem to teraz. Uważałem msbuild za "stary sposób na zrobienie tego" i msdeploy w czystszy sposób. Ale kiedy to ułożysz, ma to sens. Thanx! –