Migrate Azure Targets into Azure Steps

Azure Cloud Service and Web App Targets were deprecated in Octopus Deploy 3.1 (though they were still available for use).

Ability to create Azure Targets was removed in Octopus Deploy 3.4.

Deployment using existing Targets is still currently supported, but will be removed in a future release.

The Azure Cloud Service and Web App Deployment Targets introduced in Octopus 3.0 were deprecated in favor of Cloud Service and Web App Steps. The reasoning behind that decision is explained in this post.

Migrating

Create Azure Step/s

The process of migrating your Azure Targets into Deployment Steps is relatively simple (unfortunately it was unable to be automated).

In your existing Deployment Process, you will have a Deploy a Package step, which is the Step responsible for deploying your package to the Azure Target. This Step should be replaced by either a Deploy an Azure Cloud Service or Deploy an Azure Web App Step as appropriate. For information about adding a step to the deployment process, see the add step section.

You will use the same package as your original step, and the values supplied to the new step should generally be the same as those previously configured in the Target. For example in the image below you can see that the Deploy an Azure Web App step now contains fields such as Account, Web App, Physical Path, etc, that were previously configured on the Azure Web App Target.

The Azure Steps do not require a Deployment Target (you can deploy to an empty Environment). The target is effectively specified in the Step. They will ignore any Targets in the Environment being deployed to, with the exception of Cloud Regions (see Deploying to Multiple Regions below).

Remove Azure Targets

Once the new Steps have been created, you can remove the deprecated Azure Deployment Target/s.

Deploying to Multiple Regions

Using the deprecated Azure Targets, a common pattern was to create multiple Targets to represent different Azure Regions. Deploying to the Environment would then concurrently deploy the package to all regions.