Azure DevOps has been around the data block for a few years now, and its Git Integration features have allowed developers to perform the following crucial tasks (there are many others, but these are my top three):
- Backup and version control their work (I’m sure all of you conscientious Devs do this. Don’t you???).
- Revert to previous code versions (very rarely happens, testing is thorough and things never break….).
- Use Git Branches for group coding collaboration (or maybe make changes directly on the master branch? Nah, never seen that happen!).
Future Microsoft Fabric projects must have version control functionality. Otherwise, we’re playing a dangerous game of being unable to revert dodgy code changes, or even worse, not being able to recover lost or accidentally deleted items!
Fortunately, Git Integration is now a Microsoft Fabric feature (sigh of relief from the resident CTOs).
It’s still in Public Preview, and there are some unsupported Fabric items, but from what I can see so far it’s on the right track!
So, what does it look like and how does it work?
An important point to note is that source control is integrated into Microsoft Fabric at the Workspace level. This means developers can create branches on a Fabric Workspace, make changes to the workspace items, and then easily merge any changes back into the main trunk in the DevOps repository (after the pull request has been peer-reviewed and approved by the head honcho developer of course!).
I won’t go through setting up a DevOps Project and Repository in this blog. That has been covered a zillion times before. What I will show is how to set up source control in Fabric.
1) In your Workspace, to navigate to Workspace settings
2)This will bring up the Workspace settings area.
2.1) Navigate to Git integration, then enter the relevant DevOps information like Organization, Project, Git repository, Branch and Git Folder. (These will likely need setting up by your friendly DevOps Administrator beforehand).
2.2) Click Connect and Synch to link your Fabric Workspace to the DevOps repository.
3) When the synch is complete, you’ll get a screen similar to the one below.
3.1) You get a Source control button at the top of the page to show if any changes need synching.
3.2) The Git status column shows what items have been synched to the repository and what items are unsupported (plus other relevant status items like Uncommitted).
3.3) The date, time and branch of the last synch are displayed at the bottom of the page.
4) This is where the fun starts! Let’s make some changes to a Workspace item.
4.1) Behind the scenes, I added a new chart to an existing Power BI report called “Item Sales Report”, saved the report and went back to the Workspace where the report resides. You can see the Git Status for this report is now set to Uncommitted.
4.2) The Source control button at the top of the page now tells me I have one change to commit to the DevOps Repository.
4.3) I click on the Source control button, which brings up the Source control section on the right-hand side.
4.4) I select the report checkbox and click the Commit button.
5) My changes have now been pushed into DevOps. I need to create a Pull Request and Merge my development branch into the Master branch.
6) I now want to see if my changes have been applied to the master branch in DevOps.
6.1) When the Pull Request gets approved, I switch to the master branch.
6.2) I go into Files, and access the Power BI report I’ve altered.
6.3) I access the report.json file and click on Compare to check the differences between the old Power BI report and my new changes.
6.4) I can see on the right-hand the new json text for the chart I’ve added in the newer version of the report.
All looking good!
I can now feel rest assured that if I break or remove an item in my Fabric Workspace (heaven forbid), then I can revert my change back to the working version.
What Workspace items are supported?
At the time of writing, these Workspace items are supported for Git integration:
- Power BI and Paginated Reports (cue PBI Devs cartwheeling around the office!)
- Lakehouse (not the SQL Endpoint though!)
- Notebooks (Keeps the Sparkies happy)
- Semantic models (commonly known as datasets – but NOT push datasets or live streaming datasets).
What Workspace items are currently unsupported?
These items are currently marked as unsupported when you try and synch them to DevOps, but I’m hoping they will be available once Fabric Git Integration is out of Public Preview.
- KQL Querysets and KQL Databases
- Dataflows Gen2
- Data Pipelines
- Warehouses
- Reflexes
- Data Science Experiments
Summary
It feels like Fabric is going full steam ahead with new features getting released at a super-quick pace. DevOps is just one piece of the Fabric puzzle making it a fantastic SaaS Data Analytics product.
2024 could be a big year for Fabric!
I hope you enjoyed my latest whirlwind Fabric blog.
Please reach out if you have any questions.
D.
About the Author:
Reference: