Deploy an Azure App Service

Octopus.AzureAppService exported 2026-07-22 by Octopus Deploy belongs to ‘Azure’ category.

Deploy a package or container image to an Azure App Service using Zip Deploy.

Parameters

When this step is included in a project’s deployment process, the parameters below can be set.

Deployment Type

Octopus.Action.Azure.DeploymentType

Select whether to deploy from a package (zip, WAR, NuGet) or a container image.

Allowed values: Package, Container

Default: Package

Deployment Slot

Octopus.Action.Azure.DeploymentSlot

The slot to deploy to. Slots allow deploying different versions of your app to the same app service. Octopus variable expressions can be used.

Example: #{DeploymentSlot}

Application Settings

Octopus.Action.Azure.AppSettings

App Service Application Settings provided as JSON, using the same schema as the bulk edit in the Azure portal. Octopus variable-binding syntax may be used.

Example: [{"name": "Greeting", "value": "#{Greeting}", "slotSetting": false}]

Connection Strings

Octopus.Action.Azure.ConnectionStrings

Connection strings provided as JSON, using the same schema as the bulk edit in the Azure portal. Octopus variable-binding syntax may be used.

Example: [{"name": "AcmeDB", "value": "#{Acme.Database.ConnectionString}", "type": "SQLAzure", "slotSetting": false}]

Optional features

Enable features by adding their IDs to Octopus.Action.EnabledFeatures (a comma-separated list).

Substitute Variables in Templates Octopus.Features.SubstituteInFiles

Transforms files using the Octopus #{Variable} substitution syntax. Enabled by default for package deployments.

Octopus.Action.SubstituteInFiles.TargetFiles

Octopus.Action.SubstituteInFiles.TargetFiles

Newline-separated list of file names to transform (relative to package). Wildcards supported.

Octopus.Action.SubstituteInFiles.OutputEncoding

Octopus.Action.SubstituteInFiles.OutputEncoding

Encoding name for the output file (e.g. utf-8). Optional.

Structured Configuration Variables Octopus.Features.JsonConfigurationVariables

Replace settings in JSON, YAML, XML, and Java Properties files with Octopus variables. Enabled by default for package deployments.

Octopus.Action.Package.JsonConfigurationVariablesTargets

Octopus.Action.Package.JsonConfigurationVariablesTargets

Newline-separated list of target files (e.g. appsettings.json). Wildcards supported.

.NET Configuration Variables Octopus.Features.ConfigurationVariables

Replace appSettings and connectionStrings in .config files. Enabled by default for package deployments.

Octopus.Action.Package.AutomaticallyUpdateAppSettingsAndConnectionStrings

Octopus.Action.Package.AutomaticallyUpdateAppSettingsAndConnectionStrings

Replace appSettings and connectionStrings in .config files (True/False).

.NET Configuration Transforms Octopus.Features.ConfigurationTransforms

Runs configuration file transforms. Enabled by default for package deployments.

Octopus.Action.Package.AutomaticallyRunConfigurationTransformationFiles

Octopus.Action.Package.AutomaticallyRunConfigurationTransformationFiles

Run default XML transforms (True/False).

Octopus.Action.Package.AdditionalXmlConfigurationTransforms

Octopus.Action.Package.AdditionalXmlConfigurationTransforms

Comma- or newline-separated list of additional transform rules (e.g. Web.Release.config => Web.config).

Step configuration using OCL

Example in Octopus Configuration Language (OCL):

step "deploy-azure-app-service" {
    name = "Deploy Azure App Service"
    properties = {
        Octopus.Action.TargetRoles = "azure-app-service"
    }

    action {
        action_type = "Octopus.AzureAppService"
        properties = {
            Octopus.Action.Azure.DeploymentType = "Package"
            Octopus.Action.Package.DownloadOnTentacle = "False"
            Octopus.Action.Package.FeedId = "octopus-server-built-in"
            Octopus.Action.Package.PackageId = "MyApp"
            Octopus.Action.RunOnServer = "false"
            OctopusUseBundledTooling = "False"
        }

        packages {
            acquisition_location = "Server"
            feed = "octopus-server-built-in"
            package_id = "MyApp"
        }
    }
}

Page updated on Wednesday, July 22, 2026