A set of tools aimed to make managing Power BI artifacts and deployments easier.
The basic workflow allows
- Exports datasets as
.bim
files (json/TMSL) - Exports reports (all report items with do not include
dataset
in the name) as.pbix
files (binary) - Extracts the pbix contents (json + xml)
- Commits the exported/extracted source code to git
- The report deployment pipeline is queued in Azure DevOps
- The Tabular Model Scripting Language (TMSL) dataset file is deployed via the XMLA endpoints
- The extracted report source code is compiled into a pbix
- The pbix file is uploaded to the target environment
- The report is rebound to the dataset and the datasource credentials are updated
There are 2 major pieces:
agents
- Pipeline agent configuration - these scripts create agent VMs, then install and configure the tools required to work with the pbix files (Power BI Desktop + pbi-tools)ci-cd
- Extract and compile - these scripts extract and compile the pbix to and from source
You can use these tools in 2 ways:
- Any Windows pipeline agent - the export/import process can be performed on Windows agent which has chocolatey installed. In this case, Power BI Desktop is installed for every pipeline run and can take 5+ minutes depending on the agent.
- Specific Windows pipeline agents - you can preconfigure agents with Power BI Desktop and pbi-tools which saves time on each run.
- Azure RM Service Connection
- Variable Group + PAT (currently hardcoded to
group: AgentPoolAdmin
and$(PAT)
)
- Variable Group
group: PowerBI
$(TenantId)
$(ClientId)
$(ClientSecret)