As Power BI adoptions continue to grow, the demand from business users also grows. One such anticipated feature is to manage a product/reports from the initial process through the end of life, referred to as Application Lifecycle Management (ALM).
Microsoft introduced a new feature in the PowerBI Service for Application Lifecycle Management, Deployment Pipelines with three stages:
Let’s walk through the uses and limitations.
- Need to be a Pro user
- Need to be admin of the workspace, that needs to be deployed.
- Deployment workspace should be created in new workspace experience
- Deployment workspace should be in Premium capacity.
Once you log into the Power BI Service with the above prerequisites satisfied, the Deployment Pipelines option will be displayed in the Navigation Pane.
Selecting Deployment Pipeline displays a series of steps allowing you to create the deployment pipeline.
Step 1: Create a Pipeline
To create a pipeline, Click Create Pipeline and enter a Pipeline name and optionally you can provide a description for a pipeline.
Step 2: Assign your workspace
Once the pipeline is created, you need to assign a workspace to the pipeline on clicking Assign a workspace.
On Assign the workspace window, select a deployment stage (Dev/Test/Prod), then select a workspace to be deployed from the dropdown list.
The workspace can be assigned to any stage of the pipeline. Only one workspace can be assigned to a Pipeline.
Step 3: Develop and Test your content
Once you assigned the workspace, the list of items (Report, Dashboards, Datasets) will be displayed, which was in the assigned workspace. You can directly select Deploy to Test to deploy all the contents or you can select the specific content and deploy it the next stage. Here, you also have an option to refresh the dataset directly.
If you deploy the content in the Test stage of the Production stage, you will have the option to deploy the content to the next stage or the previous stage.
After the successful deployment of content to the target stage, the duplicate workspaces will be created. These workspaces will have the same content as in the current stage.
When two sequential stages are not the same, the indicator between the stages will change from green to orange. For example, content in the Development workspace could have changed not yet promoted to the upper stages.
In such a case, a new link to Compare has been created under the indicator. If you click on the compare link, the list of items in both the stages will be displayed in Compare View. It helps to identify the changes/difference in the pipeline stages.
Here, in the below screenshot, a new report and dataset have been added in the Development workspace (Sample Workspace). The indicator from Development to Test changed to Orange. The newly added items are also indicated with a “+” button.
If you click Deploy to Test again, the changes will be moved from Development to Test and indicator turns to green. The same process for Test to Production.
Define Dataset Rules
Since we are maintaining different stages in deployment pipelines, there might be a need to have different database connections or query parameters for each stage. For example, Development reports may point to a development database which contains sample data, Test reports may point to Test databases and Production respectively. In such cases, deployment pipelines provide an option to configure the connection for each stage by defining a rule on the dataset.
These dataset rules are defined on the data sources and parameters of each dataset. Once the rule is defined, the content deployed from the current stage to the next stage will automatically inherit the value from the rule defined.
Note: These dataset rules can be defined in the Test and Production stages of deployment pipelines, but not in the Development stage.
Clicking the dataset rule icon will list the datasets available in the Deployment setting window.
Select a dataset on which the rules are to be defined and the popup to choose the type of rule is displayed.
Data Source Rules
The data source rules allow you to replace the data source connection. You can choose the existing data source available in the source pipeline stage and replace it with the new data source available from the list. The data source list has been taken from the source dataset.
If none of the data sources is apt to replace, you can click Other and add the new data source manually of the same type.
If you configured the data source connection with the Parameter in the report, then you can choose Parameter rules option. This will allow you to edit the value of a parameter that you want to take effect on the dataset.
Sharing the content
You can share the pipeline to other users as any other Power BI workspace permissions. But both Pipeline and Workspace permissions are managed separately. If you have Pipeline permission and don’t have corresponding workspace permission, then you will be able to view the pipeline but you can’t access the workspace content in the Pipeline.
The deployment pipeline also allows you to publish the App directly from Test and Production stages. The App can be updated at any stage of the Pipeline.
Deployment Pipeline Uses
- Improves productivity and reduces manual effort.
- It is highly reusable which reduces the manual time on maintaining and creating different environments.
- Publish a Power BI app directly from the deployment pipelines.
- Manage the pipeline and inline workspace permission separately for access.
- The only report, datasets and dashboards can be included in the Deployment pipeline. Power BI dataflows, workbooks and PUSH datasets cannot be deployed.
- Does not sync schedule refresh across the stages. Need to schedule manually on the datasets in each stage.
- Does not support datasets with incremental refresh
- To define the dataset rules, you must be the owner of the dataset.
Learn more about Microsoft Power BI services offerings from Visual BI solutions here.