Skip to content
This repository has been archived by the owner on Sep 4, 2024. It is now read-only.

MSDeploy VS. ZipDeploy

Suwat Ch edited this page Apr 14, 2020 · 17 revisions

Overview

These are two common ways to deploy your application given zipped artifact; MSDeploy and ZipDeploy.

MSDeploy

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

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.

To allow Zip package deployed with ZipDeploy to mount as virtual filesystem directly without deflating or extracting, do set WEBSITE_RUN_FROM_PACKAGE=1. This setting does not work with MSDeploy.

ARM Template support

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.

Clone this wiki locally