Web Deployment through MSDeploy.exe
Use MSBuild to create an MSDeploy package and then MSDeploy.exe to deploy that package to any environments. This link should help you gain a better understanding of how WebDeploy/MSDeploy works.
http://dotnetcatch.com/2016/02/25/the-anatomy-of-a-webdeploy-package/
Whats REALLY cool is you can also use MSDeploy to deploy databases and non-web applications too. We have fully automated the deployment of 50+ products using this method.
http://dotnetcatch.com/2016/02/10/deploying-a-database-project-with-msdeploy/
http://dotnetcatch.com/2016/03/18/deploy-non-web-apps-with-msdeploy/
UPDATED - Basic steps to use MSDeploy packages:
- Create a package in your build by adding the
/t:Package
arg to your MSBuild call - Store the resulting package form the
bin
directory to your artifact repo -
Call MSDeploy.exe to deploy the package to your target server. There are lots of options here but the basic command follows:
"c:\Program Files (x86)\IIS\Microsoft Web Deploy V3\msdeploy.exe" -verb:sync -source:package=mypackage.zip -dest:auto,computerName=localhost
Related videos on Youtube
Abraham Duran
Updated on June 27, 2022Comments
-
Abraham Duran almost 2 years
I'm configuring a CI build server with Jenkins. After the build steps I'd like to deploy the website.
When publishing the the website from VisualStudio I published by Web Deploy. I like that method because it actually publish those file which have changed, so the deploy is really quick.
Now on the build server I'm trying to do the same: build the application (using
MSBuild.exe
), and then deploy the application (usingMSDeploy.exe
?).I've seen some post where they deploy the application using
MSBuild.exe
and others usingMSDeploy.exe
, is there a significant difference in there?Do you have any advice that could help with this?
Thanks and advanced.
-
Ryan Gates about 7 yearsCan you please summarize the information from the links so that your answer is complete on its own?
-
chief7 about 7 yearsAdded a few more details.