-
Notifications
You must be signed in to change notification settings - Fork 653
MSDeploy VS. ZipDeploy
These are two common ways to deploy your application given zipped artifact; MSDeploy and ZipDeploy.
MSDeploy has been there since IIS and it has many options not only to simply unzip and lay out the artifacts; but also configure various IIS and web configurations. One needs VS or MSDeploy tooling to generate MSDeploy zip package. The content in the zip is usually not the same as the outcome on d:\home\site\wwwroot.
ZipDeploy (as name stated) is intended for xcopy or ftp style deployment. It takes unzip the artifacts and lay them out exactly to d:\home\site\wwwroot. You can use any tooling (such as one coming with Windows) to zip your content.
Both deployments supported by ARM template (just different extension name) – samples below.
{
"name": "[concat(parameters('siteName'), '/MSDeploy')]",
"type": "Microsoft.Web/sites/extensions",
"apiVersion": "2015-08-01",
"properties": {
"packageUri": "https://..../msdeploy_content.zip"
}
}
{
"name": "[concat(parameters('siteName'), '/ZipDeploy')]",
"type": "Microsoft.Web/sites/extensions",
"apiVersion": "2015-08-01",
"properties": {
"packageUri": "https://..../zipdeploy_content.zip"
}
}
Note: ARM does not support stream content; meaning, one cannot upload local content directly to WebApp via ARM. Instead, the content needs to be out-of-band upload to a service (such as Azure Storage) which subsequently allows access to http(s). Then, configure the packageUri with the content URL with ARM template.