当前位置:网站首页>Brief discussion on the implementation framework of enterprise power Bi CI /cd
Brief discussion on the implementation framework of enterprise power Bi CI /cd
2022-06-24 14:24:00 【Microsoft technology stack】

summary
In the enterprise scenario ,BI Reports are more of an item IT service , It is not just a report tool . Empathy , As I have stated many times before ,Power BI It's a set of services , And not just Power BI Desktop, Its development , Testing and deployment , Need to be effectively managed . thus , Whether it's based on compliance , Or the efficiency of cooperation , Enterprise implementation PBI Continuous integration and deployment , There's no harm in Baili .
However , At present, large and small enterprises at home and abroad , Has been successfully implemented PBI CI/CD There are not many cases , Although I can't fully understand what they do , But based on my own experience and understanding , I put forward two implementation ideas , For reader's reference .
Below I will help readers understand this idea through flow charts and some screenshots , But the specific technical operation here will not STEP-BY-STEP, Because there are documents on the official website , I can easily find it out by myself , And some of the things I've talked about in my previous blog , There is no need to repeat here .
programme A
These two solutions are not just theories , They are feasible in the actual technical implementation . The first one is (Plan A) It's the one I personally recommend , It USES OneDrive for business Do version control , use Power Automate Do continuous deployment , As follows :

This solution is applicable to small and medium-sized organizations with a single development team , It is also a large enterprise with multiple development teams , It's all applicable . For the part of continuous integration , The approach is to create a shared for the development team OneDrive, In the OneDrive You can create different folder For different PBI The project team uses , And configure it for DEV Work area of the environment :

In this mode , Developers do not need to deploy reports to the workspace , Just upload it to OneDrive that will do , The benefits are as follows :
Use OneDrive trusteeship DEV In the environment PBI Report file , Any version changes are synchronized with this workspace
advantageous to PBI Management of the development team , Division of labor , And version collaboration
make the best of OneDrive It has the function of version fallback , Make it easy PBI Document version control
Besides , What readers don't have to worry about is , In this mode PBI The connection and refresh between the dataset and the data source are not affected , Besides , Because we only need to DEV Workspace configuration OneDrive, Therefore, it will be released to UAT Or after the production environment ,OneDrive Any version changes in will only affect DEV Environmental Science , Does not affect the UAT And production .
Part of continuous deployment , We can just take advantage of Power Automate Of OneDrive or Sharepoint The trigger of , such , We can implement whenever a new version is uploaded to OneDrive after , Automatically trigger subsequent workflows :

So in the subsequent part of the workflow , We can call PBI REST API Yes Power BI Content to operate , For example, implement the deployment and refresh the corresponding data set :

notes : About using Power Automate call Power BI REST API, Please refer to this article
https://d-bi.gitee.io/pbi-rest-api-supplement/
programme B
Plan B Relatively speaking, it is a little troublesome , It USES GitHub or Bitbucket And other similar platforms ( Below to GitHub Substitute for ) As PBI File hosting platform and version management tools , While using Azure DevOps or Jenkins This special CI/CD Tools ( Below to DevOps Platform collectively ) Make continuous deployment . As follows :

In this mode , Developers will PBI file Push To GitHub, And in DevOps The platform establishes the pipeline and runs the specific deployment code to realize CI/CD, Its advantages are as follows :
Be able to use DevOps Platform rich CI/CD function
Be able to work with other types of development projects in the same enterprise CI/CD Management under the system
Be able to cooperate with other types of enterprises CI/CD project ( For example, some ETL project ) To integrate
But compared with Plan A The deficiency lies in the fact that GitHub Cannot be directly configured to Power BI work area , Can't be like the plan A Like that with DEV Real time environment synchronization , Therefore, an additional one is deployed to DEV Link ; On the other hand, the implementation of the scheme is a little more troublesome . Here's how I use Jenkins Implementation scheme B Screenshot of successful deployment of ( I am using Jenkins It really took a little trouble in the process of testing , But the specific steps are beyond the scope of this article , If you have the opportunity to file another complaint ).

by comparison , Use Azure DevOps The deployment process is much smoother . The figure below T1 and T2 I use two different methods to realize Power BI Success record of automatic deployment , On the ground , Whenever a developer puts a new version of PBIX File push to GitHub, be DevOps The pipe is automatically triggered , take PBIX Automatic deployment to PBI Workspace and complete data refresh .

total junction
Usually , I prefer the scheme A The pattern of , It's convenient , concise , Efficient , Easier to manage . But if PBI The integration and deployment of the need to comply with the unified deployment specification under the enterprise framework , Or need to work with ETL And other projects , So the plan B Maybe the only choice . Besides ,IT When the team actually implements this plan , There are still many aspects to consider , For example, error reporting , Version rollback , The dependency and deployment order between data sets and data flows , And this article aims to throw a brick to attract jade , The specific plan must be adjusted and improved by the team according to the actual situation .
Microsoft's most valuable expert (MVP)

Microsoft's most valuable expert is a global award awarded by Microsoft to third-party technology professionals .29 Over the years , Technology community leaders around the world , Won this award for sharing expertise and experience in its online and offline technology communities .
MVP It's a strictly selected team of experts , They represent the most skilled and intelligent people , He is an expert who puts great enthusiasm into the community and is willing to help others .MVP Committed to speaking 、 Q & a forum 、 Create a website 、 Blogging 、 Share video 、 Open source project 、 Organize meetings to help others , And help Microsoft technology community users to use Microsoft technology .
For more details, please visit the official website :
https://mvp.microsoft.com/zh-cn
Focus on Microsoft China MSDN Learn more about
Click on Join Microsoft MVP~
边栏推荐
- ESP32系列--ESP32各个系列对比
- Record various sets of and or of mongotemplate once
- 21set classic case
- 【深度学习】NCHW、NHWC和CHWN格式数据的存储形式
- 食品饮料行业渠道商管理系统解决方案:实现渠道数字化营销布局
- Antd checkbox, limit the selected quantity
- [untitled]
- MySQL log management, backup and recovery
- Virtual machines on the same distributed port group but different hosts cannot communicate with each other
- Py之toad:toad的简介、安装、使用方法之详细攻略
猜你喜欢

日常知识科普

在宇宙的眼眸下,如何正确地关心东数西算?

Development of B2B transaction collaborative management platform for kitchen and bathroom electrical appliance industry and optimization of enterprise inventory structure

How to solve the problem that iterative semi supervised training is difficult to implement in ASR training? RTC dev Meetup
![根据前序&中序遍历生成二叉树[左子树|根|右子树的划分/生成/拼接问题]](/img/f7/8d026c0e4435fc8fd7a63616b4554d.png)
根据前序&中序遍历生成二叉树[左子树|根|右子树的划分/生成/拼接问题]

leetcode:1504. Count the number of all 1 sub rectangles

laravel8使用faker调用工厂填充数据

C language ---18 function (user-defined function)

MySQL log management, backup and recovery

Baidu map API drawing points and tips
随机推荐
如何避免下重复订单
AQS初探
09_一种比较高效的记忆方法
智慧园区SaaS管理系统解决方案:赋能园区实现信息化、数字化管理
markdown/LaTeX中在字母下方输入圆点的方法
Successfully solved: selenium common. exceptions. SessionNotCreatedException: Message: session not created: This versi
15 differences between MES in process and discrete manufacturing enterprises (Part 2)
Virtual machines on the same distributed port group but different hosts cannot communicate with each other
June training (day 24) - segment tree
Solution of channel management system for food and beverage industry: realize channel digital marketing layout
R language plot visualization: use plot to visualize the training set and test set after data division, use different shape label representation, training set, test set, and display training and test
Antd checkbox, limit the selected quantity
tongweb使用之端口冲突处理办法
OpenHarmony 1
业务与技术双向结合构建银行数据安全管理体系
Getting to know cloud native security for the first time: the best guarantee in the cloud Era
R语言构建回归模型诊断(正态性无效)、进行变量变换、使用car包中的powerTransform函数对目标变量进行Box-Cox变换(Box–Cox transform to normality)
Py's toad: a detailed introduction to toad, its installation and use
IDEA 插件 Material Theme UI收费后的办法
Digital business cloud: strengthen supplier management and promote efficient collaboration between air transport enterprises and suppliers