Skip to content
David Alzamendi Data Enthusiast

Azure DevOps Azure Analysis Services CI/CD

Azure DevOps Azure Analysis Services CICD

Are you trying to automatically deploy Azure Analysis Services changes across different environments? In this blog post, I’ll show you how to create an Azure DevOps Azure Analysis Services Continuous Integration and Continuous Deployment (CI/CD) solution. You can easily make changes using a custom Azure DevOps component without writing a single line of code. 

Azure DevOps Azure Analysis Services CI/CD

Install Azure DevOps Azure Analysis Services Component 

First of all, for the Azure DevOps Azure Analysis Services CI/CD solution, we’ll use a DevOps component created by Jan Pieter Posthuma.  

The main benefit of this component is that you don’t need to write any code! That’s right, you can get your solution up and running without writing code in just a few minutes. There are other great solutions available, but they usually require some code, adding additional scripts, etc. 

The only key limitation is that it doesn’t support multiple Azure Analysis Services data sources. (I haven’t seen many scenarios like this one, however). I also haven’t tested with Yaml.  

The component works perfectly and it is frequently maintained. You can get the component from this link and install it: 

https://marketplace.visualstudio.com/items?itemName=liprec.vsts-release-aas

Azure Analysis Service Jan Pieter Posthuma

Simply follow the wizard to install it. 

Install Azure DevOps Azure Analysis Services Component

The component will become available in Azure DevOps. 

component will become available in Azure DevOps

Create Azure App to Manage Azure Analysis Services 

Next, I recommend creating an Azure application that you can use to deploy the model in Azure Analysis Services and your Azure DevOps Azure Analysis Services CI/CD solution.  

This step is still optional as you can use user and password (not recommended). 

If you are using an Azure App, you will need to copy: 

  • App ID 
  • Directory ID 
  • Secret value 
Create Azure App to Manage Azure Analysis Services

Next, define a name and click register. 

Create Azure App to Manage Azure Analysis Services

Copy the App ID and the Directory ID. 

Create Azure App to Manage Azure Analysis Services

Create a secret for your Azure application. 

Create a secret for your Azure application

Define the start and end date for the secret. 

Create Azure App to Manage Azure Analysis Services

Now, copy the value of the secret.  

Create Azure App to Manage Azure Analysis Services

You can save the information in Azure Key Vault. Check out this blog post on Azure DevOps and Azure Key Vault if you want to use this option. 

Azure Key Vault

Grant Access to Your Azure App in Azure Analysis Services 

In your Azure Analysis Services server, click properties to add the new Azure App to manage your Azure Analysis Services models. You will also deploy the models using your Azure DevOps Azure Analysis Services CI/CD solution. 

click properties to add the new Azure App to manage your Azure Analysis Services models

Click Add. 

Grant Access to Your Azure App in Azure Analysis Services

Now, find the new Azure App name and click Add. 

Grant Access to Your Azure App in Azure Analysis Services

Finally, save the new App ID. 

Grant Access to Your Azure App in Azure Analysis Services

Create a New Git Repository Branch for Your Azure Analysis Services Project 

In the Azure DevOps repository, where you have your Analysis Services solution, create a new branch that you can use to release the changes to the next environment.  

You need to integrate Analysis Services and Azure DevOps. 

Create a new git repository branch
Create a New Git Repository Branch for Your Azure Analysis Services Project

Create Azure DevOps Azure Analysis Services CI/CD Solution 

Let’s create an Azure DevOps Azure Analysis Services CI/CD solution. First, create a new release pipeline. 

create a new release pipeline.

Select Empty Job. 

Create Azure DevOps Azure Analysis Services CI/CD Solution

Add an artifact. 

Create Azure DevOps Azure Analysis Services CI/CD Solution

Select the previously created Azure DevOps Azure Analysis Services branch. 

Create Azure DevOps Azure Analysis Services CI/CD Solution

Then, click to add a new job. 

Create Azure DevOps Azure Analysis Services CI/CD Solution

If you’ve stored credentials in Azure Key Vault, add the Azure Key Vault task to your job. 

Create Azure DevOps Azure Analysis Services CI/CD Solution

Configure the Azure Key Vault task as required. 

Create Azure DevOps Azure Analysis Services CI/CD Solution

The next step is to add the Azure Analysis Services Deployment task created by Jan Pieter Posthuma. 

This task deploys the model with the changes to the Azure Analysis Services server. 

Create Azure DevOps Azure Analysis Services CI/CD Solution

Configure the task as required and save your pipeline. You can see that I am using Key Vault to reference the secrets that have my credentials. 

Configure the task as required and save your pipeline

In addition, you can configure your pipeline to start as soon as you check new changes into the branch.  

Create Azure DevOps Azure Analysis Services CI/CD Solution

You can also add pre-deployment approvals if you want somebody to approve the release. 

Create Azure DevOps Azure Analysis Services CI/CD Solution

You are ready to rock ’n roll!  

Test Azure DevOps Azure Analysis Services CI/CD 

If you want to test the solution, you need to create a pull request to merge changes between your main branch and the publish branch.  

To begin, create a new pull request. 

 create a new pull request.

Then, select the source and destination branches. 

Test Azure DevOps Azure Analysis Services CI/CD

Complete the pull request. 

Test Azure DevOps Azure Analysis Services CI/CD
Test Azure DevOps Azure Analysis Services CI/CD

If you’ve enabled the continuous integration option, the release will trigger automatically. You can also trigger it manually. 

Test Azure DevOps Azure Analysis Services CI/CD

In my case, I had to approve the deployment of the Azure Analysis Services model. 

Test Azure DevOps Azure Analysis Services CI/CD

You might also get an email to approve it. 

Test Azure DevOps Azure Analysis Services CI/CD

You can verify Azure DevOps logs to track the progress of the release pipeline. 

Test Azure DevOps Azure Analysis Services CI/CD

Verify the steps of your Azure DevOps Azure Analysis Services CI/CD pipeline. 

Test Azure DevOps Azure Analysis Services CI/CD

Now, let’s try to process the Azure Analysis Services model in the production environment. 

Test Azure DevOps Azure Analysis Services CI/CD

It works! 

Test Azure DevOps Azure Analysis Services CI/CD

If you click properties, you should also see the values that you included as part of the Azure DevOps task. 

Test Azure DevOps Azure Analysis Services CI/CD
Test Azure DevOps Azure Analysis Services CI/CD

Summary 

In this blog post, you learned how to easily build an Azure DevOps Azure Analysis Services CI/CD solution without writing any code.  

You can extend this solution to have more environments or even add the development environment if you want the solution to first deploy to it. 

Now you will avoid manual intervention and taking risks while deploying between environments. 

What’s Next?  

In upcoming blog posts, we’ll continue to explore some of the features within Azure Services.        

Please follow Tech Talk Corner on Twitter for blog updates, virtual presentations, and more!      

As always, please leave any comments or questions below.      

CHECK OUT THESE OTHER BLOG POSTS: 

All 6 guides

Questions or comments?

Leave a comment below

Your email address isn't published.

For security, use of Google's reCAPTCHA service is required which is subject to the Google Privacy Policy and Terms of Use.

I agree to these terms.