Skip To Content

Automate ArcGIS Enterprise deployments to Microsoft Azure

Esri supports several automation options for ArcGIS Enterprise on Microsoft Azure for efficiency and repeatability. Once you run ArcGIS Enterprise Cloud Builder for Microsoft Azure, you can automate repeated deployments using a generated template in popular deployment tools such as Microsoft Visual Studio and command line interfaces with shell programs (Microsoft PowerShell and Bash). ArcGIS Enterprise on Microsoft Azure can also be integrated with continuous integration and continuous deployment (CI/CD) tools such as Jenkins, Octopus Deploy, and Travis CI.

If you are an advanced user, you can modify and extend templates to suit your needs and specifications. The resources required to perform automated deployments differ depending on your choice of automation platform.

Generate automation artifacts from Cloud Builder

For each of these automation tools, you must first create a deployment using ArcGIS Enterprise Cloud Builder for Microsoft Azure, and save a file containing the automation artifacts from the builder. On the summary step of the completed deployment, click the Save Automation Artifacts button. On the dialog box, browse to your desired storage location. Provide a name for the .zip file to be generated, select the automation option targets you want, and click generate.

Once ArcGIS Enterprise Cloud Builder for Microsoft Azure finishes generating the artifacts, browse to the storage location and extract the .zip file. You can use the artifact files in subsequent automation operations.

The exact automation artifact files generated in the .zip file will depend on the target options you select on the dialog box. The following six files will always be generated regardless of which targets you select:

Artifact file pathArtifact description

azuredeploy.json

A Microsoft Azure Resource Manager (ARM) template that models the entire deployment as run by the Cloud Builder.

azuredeploy.parameters.json

An ARM template parameters file populated with the values you specified in the Cloud Builder wizard.

DSC.zip

Automation artifacts used to configure ArcGIS components on the virtual machine.

<licenses>.prvc

License files for your ArcGIS Server and (optionally) Portal for ArcGIS specified during the Cloud Builder setup.

<sslCertificate>.pfx

The SSL certificate (CA-signed or self-signed) specified during the Cloud Builder setup. If using a self-signed certificate, a wildcard certificate is generated with the name wildcard_<region>_cloudapp_azure_com.pfx for use in any deployment within the specified Azure region.

Deploy-AzureResourceGroup.ps1

An entry point script for automation used by Visual Studio and PowerShell.

Two additional artifacts are generated when the Visual Studio option is selected:

Artifact file pathArtifact description

DeployArcGIS.sln

A Visual Studio solution file.

DeployArcGIS.deployproj

A Visual Studio deployment project file.

One additional artifact is generated when the PowerShell option is selected:

Artifact file pathArtifact description

Deploy-ArcGISSite.ps1

A PowerShell script for automation.

One additional artifact is generated when the CLI option is selected:

Artifact file pathArtifact description

deployArcGISSite.sh

A Bash script for automation.

Deploy using Microsoft Visual Studio

Before you begin, ensure you have the following:

  • Visual Studio 2015 or later
  • Azure Resource Manager Tools for Visual Studio
  • Azure PowerShell for Windows
Follow these steps to automate a deployment of ArcGIS Enterprise on Microsoft Azure using Visual Studio:

  1. Click the DeployArcGIS.sln file from your generated automation artifacts to open the Visual Studio Solution file.

    The Visual Studio Deployment Project (.deployproj) opens if you have the required Azure Resource Manager Tools for Visual Studio installed.

  2. Right-click the project in the Solution Explorer window of Visual Studio and click Deploy > New.

    The Deploy to Resource Group dialog box appears.

  3. For Resource group, choose an existing resource group or create one for your deployment.

    The Deployment template and Template parameters file boxes are populated automatically.

  4. To change any of the parameters of the deployment, click Edit Parameters. If you change any parameters, click Save to close the dialog box.
  5. When you are ready, click Deploy.

    A PowerShell console opens; enter your administrator password in the console when prompted.

The deployed resources will be available in the resource group you specified once the deployment is complete.

Deploy using Azure PowerShell for Windows

If you have not already done so, install Azure PowerShell for Windows from the Microsoft website.

  1. Open a PowerShell console and browse to your extracted automation artifacts folder.
  2. Run the Deploy-ArcGISSite.ps1 script.
  3. If prompted, sign in to Microsoft Azure. Once authenticated, the deployment uses the parameters you previously provided in ArcGIS Enterprise Cloud Builder for Microsoft Azure to create an identical deployment.

Deploy using the Azure command line interface (CLI) on Bash

You can use the Azure CLI to launch deployments of ArcGIS Enterprise on Microsoft Azure from machines running Windows, Linux, or macOS. Install Azure CLI 2.0 from the Microsoft website if you haven't done so already. If the original automation artifacts folder was generated on a Windows machine and you want to run the CLI on a macOS or Linux machine, copy the folder to your desired client computer before beginning.

  1. Open a Bash shell and browse to the extracted automation artifacts folder.
  2. If you need to change any parameters in the deployment, use a text editing program to edit the azuredeploy.parameters.json file. Save your changes.
  3. Run the deployArcGISSite.sh script.
  4. If prompted, sign in to Microsoft Azure. Once authenticated, the deployment uses the parameters you previously provided in ArcGIS Enterprise Cloud Builder for Microsoft Azure.

Deploy using Azure Resource Manager

You can download Microsoft Azure Resource Manager (ARM) from GitHub to deploy ArcGIS Enterprise, stand-alone and federated ArcGIS Server sites, and ArcGIS Pro on Azure instances. You can use these templates to automate deployments without needing to generate files from Cloud Builder.

See Automation solutions for your portal to learn more about automation with ArcGIS Enterprise.