Azure Plugin

The Deploy Azure plugin enables Deploy to work with the Microsoft Azure cloud computing service. You can provision Virtual Machines, Containers, and Deploy FunctionApp and WebApp from Deploy.

For information about requirements and the configuration items (CIs) that the Azure plugin provides, refer to the Azure Plugin Reference.

Features of the Deploy Azure Plugin

  • Create resource groups and storage accounts
  • Define security groups and associated security rules
  • Setup public IP addresses
  • Define virtual networks (VNet) and their route tables
  • Provision virtual machines associated to their network interface (NIC) and deploy applications to those virtual machines
  • Support Windows Virtual Machines (VMs)
  • Automatically destroy machines during undeployment
  • Leverage the Blob Storage scalable object storage for unstructured data
  • Create web apps with built-in auto-scale and load balancing
  • Create function apps based on an event-driven, serverless compute experience
  • Run containers (ACI) without managing virtual machines
  • Safeguard cryptographic keys and other secrets using Key Vault
  • Configure load balancer (Layer 4 TCP and UDP) to deliver high availability and network performance to your applications
  • Deploy network configurations such as virtual networks (VNets), subnets, routing tables, network interfaces, and public IP addresses
  • Deploy load balancing configurations such as load balancers and availability sets
  • Deploy storage configurations such as storage accounts and blob containers
  • Deploy content to blob containers
  • Deploy security configurations such as security groups and associate security roles with them
  • Configure app service plans and deploy web apps and web jobs
  • Deploy functions to Azure Functions
  • Deploy container groups and containers to Azure Container Instance

This is a diagram representing all the resource types Deploy Azure plugin supports and their dependencies:

Azure types diagram

Before you Get Started

Before you begin using the Azure plugin you must have:

  • Access to a portal.azure.com account
  • XLD running with azure plugin

Make sure your Azure account is correctly configured, with at least the following elements:

  • Subscription ID
  • Service principal, with a Tenant ID, Client ID, and Client secret value

Minimum Required Versions

You must have theseversions of the specified tools to work properly.

Deploy: Version 9.0.0

Information Required

  • Subscription ID
  • Client ID
  • Client secret
  • Tenant ID
  • Resource group to create
  • An Azure region to create the resource group (e.g. westus)
  • Name of the Azure app. This will also be used as the name of the Release and Deploy CIs.
  • Username and password for the admin account

Set up an Azure Cloud Connection

To set up a connection to Azure Cloud:

  1. Hover over Infrastructure, click Explorer action menu, and select New > Azure > Cloud.

    Azure Cloud CI

  2. In the Subscription ID box, enter the subscription id which you will found in Azure portal under subscriptions.
  3. In the User Name box, enter the user name used to login to Azure Cloud.
  4. In the User Password box, enter the user password used to login to Azure Cloud.
  5. Save the azure.Cloud configuration item.

Verify the Azure Cloud Connectivity

To verify the connection with the azure.Cloud, use the Check Connection control task.

Azure check connection

Execute the task. If the task succeeds, the connectivity is working fine and we are able to use Azure through XL Deploy.

Azure connection status

Important: This topic describes using a CI tool plugin to interact with Deploy. However, as a preferred alternative starting with version 9.0, you can utilize a wrapper script to bootstrap XL CLI commands on your Unix or Windows-based Continuous Integration (CI) servers without having to install the XL CLI executable itself. The script is stored with your project YAML files and you can execute XL CLI commands from within your CI tool scripts. For details, see the following topics:

Azure Blueprints

The Azure blueprints allow you to define deployments and releases in YAML templates, simplifying the process of provisioning resources with the Azure plugin. Azure Resource Manager (ARM) templates can also be used to easily define the Azure resource deployments. For more information, see Deploy to Azure with using the ARM template blueprint

The available Azure blueprints are:

For more information on the blueprints, see Deploy/Release Blueprints. This tutorial will help you to for deploy resources to Azure using ARM templates: Deploy to Azure with using the ARM template blueprint.

Azure WebApp

The Deploy Azure WebApp provides a host service to create and deploy web apps.

Note: