Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to deploy project with msdeploy instead of msbuild

Today I use msbuild to deploy a web application to an iis server. How can I do the same with msdeploy (command line)?

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
like image 894
Adrian Rosca Avatar asked Oct 24 '13 13:10

Adrian Rosca


1 Answers

It depends what you would like your workflow to be, if you want to package the output and deploy that seperately then you'll need to create a zip file from your build.

Create Package

Add the following to your msbuild command line to create a package:

/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"

You might also want to promote from one deployed site to another.

Clone Site

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

Or you may already have a site that you want to target.

Clone Application

msdeploy.exe
    -verb:sync
    -source:iisApp="my.server.com/MyApp"
    -dest:iisApp="my.server.com/MyNewApp"
like image 190
David Martin Avatar answered Oct 19 '22 18:10

David Martin