A hands-on workshop for learning source control and DevOps practices with Microsoft Fabric.
💡 GitHub or Azure DevOps? This workshop uses GitHub for examples, but the process works almost exactly the same with Azure DevOps. Both platforms use Git, so the core concepts—commits, branches, pull requests—are identical.
These prerequisites are essential — the workshop is hands-on from start to finish, and you won't be able to follow along without them. Please verify everything below is in place before the workshop begins.
- Each attendee needs the ability to create workspaces, OR have 2 workspaces pre-created for them with that attendee added as an admin on both workspaces. Workspaces must be attached to a Premium capacity or a Fabric capacity.
- A GitHub account OR an Azure DevOps organization
- For GitHub: A personal access token with repo scope (classic) or Contents read/write permission (fine-grained)
- For GitHub: Admin access to your repository (needed to configure branch protection rules in Section 4)
⚠️ Admin Note: Your Fabric tenant admin must enable the following settings in the admin portal:
- "Users can create Fabric items" — we use Fabric items during this workshop to keep things simple, so this needs to be enabled.
- "Users can synchronize workspace items with their Git repositories" — if you can't see the Git integration option, contact your admin.
💡 Lectures: Some sections begin with a lecture slide deck (lesson X.0) that introduces key concepts before the hands-on exercises. These are Marp presentations—open the markdown file and use the Marp extension to preview or export slides.
| Lesson | Title | Duration |
|---|---|---|
| 1.0 | Lecture | 15 min |
| 1.1 | Connecting Your Workspace to Git | 15-20 min |
| 1.2 | Making Your First Commit | 20-25 min |
| 1.3 | Undoing Uncommitted Changes | 5-10 min |
| Lesson | Title | Duration |
|---|---|---|
| 2.0 | Lecture | 15 min |
| 2.1 | Setting Up a Deployment Pipeline | 15-20 min |
| 2.2 | Tagging Releases | 10-15 min |
| 2.3 | Deploying to Production | 10-15 min |
| 2.4 | Viewing Previous Releases with Tags | 10 min |
| 2.5 | Practice - Tag and Deploy Again | 5-10 min |
| 2.6 | Adding a Test Environment | 5 min |
| Lesson | Title | Duration |
|---|---|---|
| 3.0 | Lecture | 10 min |
| 3.1 | Adding a Lakehouse to Your Notebook | 10-15 min |
| 3.2 | Creating Deployment Rules | 10-15 min |
| Lesson | Title | Duration |
|---|---|---|
| 4.0 | Lecture | 10 min |
| 4.1 | Inner Loop and Outer Loop | 5 min |
| 4.2 | Branching Strategy | 10 min |
| 4.3 | Configuring Branch Policies | 10 min |
| 4.4 | Creating a Feature Branch | 10-15 min |
| 4.5 | Merging with Pull Requests | 10 min |
| 4.6 | Cleaning Up | 5 min |
| Lesson | Title | Duration |
|---|---|---|
| 5.0 | Lecture | 10 min |
| 5.1 | What Are Variable Libraries? | 5-10 min |
| 5.2 | Creating a Variable Library | 10-15 min |
| 5.3 | Using Library Variables in a Notebook | 10-15 min |
| 5.4 | Deploying and Selecting Active Value Sets | 10-15 min |
| 5.5 | Other Ways to Use Variable Libraries | 10 min |
- Deployment Pipeline Parameters
- Handling Merge Conflicts
- Automated Testing in Pull Requests
- CI/CD with GitHub Actions or Azure DevOps Pipelines (ISV scenarios)
This project is licensed under the MIT License.