Azure ARM Templates and ZIP Deploy

September 17, 2025

By: Shaun Walker

Oqtane provides a "Deploy To Azure" option to simplify the process of installing the framework on Microsoft Azure. This option utilizes an azuredeploy.json file which is also known as an ARM Template. ARM is an acronym for "Azure Resource Manager" so it should not be surprising that the template file contains configurations for various types of Azure resources.

One of the most critical items in an ARM Template are the instructions for installing the software application itself. Usually this is based on a Source Control system such as GitHub which allows Azure to retrieve the source code from a branch in a repository, build it, and then publish the output. An example of this approach is included below...

// ------------------------------------------------------
// Web App
// ------------------------------------------------------
{
  "type": "Microsoft.Web/sites",
  ...
  "resources": [
    // --------------------------------------------------
    // Source Control
    // --------------------------------------------------
    {
      "type": "sourcecontrols",
      "apiVersion": "2022-03-01",
      "name": "web",
      "location": "[parameters('location')]",
      "properties": {
        "repoUrl": "https://github.com/oqtane/oqtane.framework.git",
        "branch": "master",
        "isManualIntegration": true
      },
      "dependsOn": [
        "[resourceId('Microsoft.Web/sites', parameters('BlazorWebsiteName'))]"
      ]
    }
  ]
}

This approach works well in the majority of cases however there is another lesser known option called Zip Deploy which can be a very useful alternative. This is especially true for applications with more complex or customized build processes, or applications which are very large that can take significant time to download the source code and build. Zip Deploy allows you to bypass the build step entirely by simply downloading and publishing a pre-compiled application to Azure. An example of this approach is included below...

// ------------------------------------------------------
// Web App
// ------------------------------------------------------
{
  "type": "Microsoft.Web/sites",
  ...
  "resources": [
    // --------------------------------------------------
    // ZIP Deploy
    // --------------------------------------------------
    {
      "type": "Microsoft.Web/sites/extensions",
      "apiVersion": "2024-04-01",
      "name": "[concat(parameters('BlazorWebsiteName'), '/ZipDeploy')]",
      "properties": {
        "packageUri": "https://github.com/oqtane/oqtane.framework/releases/download/v6.2.0/Oqtane.Framework.6.2.0.Install.zip"
      },
      "dependsOn": [
        "[resourceId('Microsoft.Web/sites', parameters('BlazorWebsiteName'))]"
      ]
    }
  ]
}



Share Your Feedback...
Receive Blog Notifications...