Deploy apps to Azure Stack

Azure Pipelines

Azure Stack is an extension of Azure that enables the agility and fast-paced innovation of cloud computing through a hybrid cloud and on-premises environment.

In addition to supporting Azure AD, Azure DevOps Server 2019 can be used to deploy to Azure stack with Active Directory Federation Services (AD FS) using a service principal with certificate.


To deploy to Azure stack using Azure Pipelines, ensure the following:

Azure stack requirements:

  • Use an Azure Stack integrated system or deploy the Azure Stack Development Kit (ASDK)
  • Use the ConfigASDK.ps1 PowerShell script to automate ASDK post-deployment steps.
  • Create a tenant subscription in Azure Stack.
  • Deploy a Windows Server 2012 Virtual Machine in the tenant subscription. You'll use this server as your build server and to run Azure DevOps Services.
  • Provide a Windows Server 2016 image with .NET 3.5 for a virtual machine (VM). This VM will be built on your Azure Stack as a private build agent.

Azure Pipelines agent requirements:

  • Create a new service principal name (SPN) or use an existing one.
  • Validate the Azure Stack Subscription via Role-Based Access Control(RBAC) to allow the Service Principal Name (SPN) to be part of the Contributor's role. Azure DevOps Services must have the Contributor role to provision resources in an Azure Stack subscription.
  • Create a new Service connection in Azure DevOps Services using the Azure Stack endpoints and SPN information. Specify Azure Stack in the Environment parameter when you create an Azure Resource Manager service connection. You must use the full version of the service connection dialog to manually define the connection.

You can then use the service connection in your build and release pipeline tasks.

For more details, refer to Tutorial: Deploy apps to Azure and Azure Stack



Are all the Azure tasks supported?

The following Azure tasks are validated with Azure Stack:

How do I resolve SSL errors during deployment?

To ignore SSL errors, set a variable named VSTS_ARM_REST_IGNORE_SSL_ERRORS to the value true in the build or release pipeline.

Help and support