Using Deployment Pipelines
Start course

This course is designed to lead users through the experience of working with Power BI content in the Power BI service. This web-enabled environment is where content creators and business users go to develop, deploy, and consume content. This course will walk through the process of creating Power BI workspaces in this environment, provisioning user roles, and publishing content to these spaces. It will also walk through the steps necessary to make that content available to a larger business audience by developing workspace apps.

Content in Power BI is also constantly iterated upon, and this course will establish best practices for development lifecycle strategy and the use of premium features like deployment pipelines. Once Power BI content is deployed, it must also be accessible and discoverable. This course will examine processes for promoting and certifying Power BI content and configuring subscriptions so that content can be emailed to users at a defined frequency.

Learning Objectives

  • Create a Power BI workspace
  • Assign workspace roles
  • Publish a Power BI desktop file
  • Create a workspace app
  • Create a dashboard in a workspace
  • Certify a dataset
  • Configure a subscription

Intended Audience

This course is designed for individuals who are working with Power BI and those studying for Microsoft’s Power BI Certification assessment.


To get the most from this course, you should have reasonable experience working with Power BI. If you're new to Power BI, we recommend taking our Introduction to Power BI course.


In recent years, Power BI has added features to assist with the lifecycle development strategy of Power BI reports. One of these features is called Deployment Pipelines. Let's have a look at how to use it. Deployment Pipelines is a feature that appears in the left panel of the Power BI service and is exclusive for those organizations or users with Premium capacity. Clicking on the Deployment Pipelines button in Power BI brings up a prompt where users can create a pipeline. But what exactly is that pipeline doing? The purpose of deployment pipelines is to automate the movement of Power BI content from a workspace designated as Development, to a workspace designated as Test, and finally to a workspace designated as Production. These are the 3 stages we reviewed in our previous lecture about lifecycle development strategy.

Deployment pipelines essentially creates these environments for us and assists with moving content between them. Prior to this feature, we would have had to create these workspaces manually. The overall process of using deployment pipelines can be observed in this infographic. First, we create a pipeline, then assign it to a Premium capacity workspace, then develop, test, and publish content, and finally share that production content with users. As mentioned earlier, this is the lifecycle development strategy recommended for Power BI.

Let's create a pipeline. After selecting the create pipeline button, a window opens asking us to create a pipeline name and add a description. Once we've done this, we are taken to the main deployment pipeline screen. On this screen we can see the 3 designated areas called out, development, test, and production, as well as the option to select a workspace for one of these. Although not required, typically we would link a Premium workspace to the development environment first. If we do not assign a workspace to the remaining steps, test, and production, Power BI will create two new Premium workspaces on our behalf once those stages are activated.

In the next step, we will add Power BI content to our development environment. Once this content has been approved, we can trigger the deployment pipeline to move that content to the next workspace step. If no workspace has been created yet, a Premium workspace will be spun up for us with a name appended by Test or Production, depending on the step. As we move content between stages, we also have to ability to implement rules and change parameters. These are options that might allow us to update a data source in a report or to automate the timing on how content is moved between stages.

Additionally, there is a compare button that allows us to conduct a metadata comparison between reports in each stage in order to identify if there are any differences. If differences are identified, we're given the option to update that content.

About the Author

Steve is an experienced Solutions Architect with over 10 years of experience serving customers in the data and data engineering space. He has a proven track record of delivering solutions across a broad range of business areas that increase overall satisfaction and retention. He has worked across many industries, both public and private, and found many ways to drive the use of data and business intelligence tools to achieve business objectives. He is a persuasive communicator, presenter, and quite effective at building productive working relationships across all levels in the organization based on collegiality, transparency, and trust.