Tutoriel CI/CD Fabric et Power BI : Pipeline de déploiement Fabric avec les espaces de travail Dev, Test et Prod attribués à chaque étape

En résumé : avec le format Power BI Project (PBIP) et le TMDL (Tabular Model Definition Language), Power BI s'intègre beaucoup plus simplement dans un pipeline CI/CD. Plusieurs développeurs peuvent alors travailler en parallèle sur un même projet. Cet article montre comment Power BI, Microsoft Fabric, Azure DevOps et Git s'articulent pour rendre la gestion des projets Power BI structurée et évolutive.

Avec l'augmentation des données et des besoins analytiques, les entreprises cherchent des approches collaboratives pour développer et gérer leurs projets Power BI. Or le travail à plusieurs sur un même modèle sémantique peut s'avérer complexe et source d'erreurs.

Cet article s'appuie sur Azure DevOps et les pipelines de déploiement de Fabric. Pour une approche fondée sur GitHub Actions et l'API REST de Fabric, consultez notre tutoriel Pipeline CI/CD Microsoft Fabric avec GitHub.

Qu'est-ce que le TMDL ?

La combinaison du TMDL et du CI/CD (intégration continue / déploiement continu) pour Power BI représente une avancée dans la gestion des modèles sémantiques. Le TMDL propose une approche déclarative, en code, pour définir les objets du modèle : tables, mesures, relations.

Les avantages de la vue TMDL

  • Faciliter la collaboration : plusieurs membres de l'équipe travaillent simultanément sur le même modèle sémantique sans provoquer de conflits.
  • Améliorer l'efficacité du développement grâce à un éditeur de code avancé.
  • Simplifier la gestion des mesures : toutes les mesures se visualisent et se modifient sur un seul écran.
  • Afficher et modifier des objets et propriétés du modèle sémantique non disponibles dans l'interface de Power BI Desktop.

Vue TMDL de Power BI facilitant la collaboration et la gestion des modèles sémantiques

Activer la vue TMDL dans Power BI Desktop

Allez dans File > Options and settings > Options > Preview features :

Activation de la vue TMDL dans les fonctionnalités en préversion des options de Power BI Desktop

Redémarrez Power BI Desktop pour appliquer les changements.

Qu'est-ce qu'un projet Power BI (PBIP) ?

Quand vous travaillez sur un fichier Power BI Desktop (.pbix) existant, vous pouvez enregistrer votre travail sous forme de projet Power BI (.pbip). Les éléments du rapport et du modèle sémantique sont alors définis dans des fichiers texte structurés, rangés dans des dossiers.

Enregistrement d'un fichier PBIX en projet PBIP dans Power BI Desktop

Structure du dossier

  • Fichier « .pbip » : il sert de pointeur vers le dossier du rapport.
  • Dossier du rapport « .Report » : il contient les fichiers et sous-dossiers de définition du rapport.
  • Dossier du modèle sémantique « .SemanticModel » : il stocke les fichiers du modèle de données en langage TMDL.
  • Fichier « .gitignore » : il spécifie les fichiers à exclure du contrôle de version Git.

Lorsque vous enregistrez un projet, le modèle sémantique est enregistré sous la forme d'un dossier TMDL « definition », dans le dossier « .SemanticModel ».

Arborescence d'un dossier PBIP avec les fichiers et répertoires du projet Power BI

Les avantages de l'enregistrement en projet PBIP

  • Utiliser un éditeur de code comme VS Code, avec une expérience d'édition riche et l'intégration de Git.
  • Modifier les éléments du rapport et du modèle sémantique de manière programmatique.
  • Gérer le code source avec Git (historique des versions, comparaison des révisions).
  • Mettre en place l'intégration et le déploiement continus (CI/CD).

Le CI/CD pour Power BI

Enregistrer les projets Power BI dans des fichiers permet de les intégrer dans un processus CI/CD.

Intégration continue (CI) :

  • les développeurs travaillent simultanément sur différentes branches et fusionnent leurs modifications en continu ;
  • des tests automatisés vérifient la qualité des modifications apportées aux modèles sémantiques ;
  • les modifications sont suivies dans un système de contrôle de version comme Git.

Déploiement continu (CD) :

  • automatisation du déploiement des rapports et des modèles sémantiques dans les différents environnements (Dev, Test, Prod) ;
  • gestion des environnements : une configuration propre à chaque environnement assure un déploiement cohérent et fiable.

Configurer le projet Azure DevOps

Prérequis

Créer un projet Azure DevOps

Connectez-vous à Azure DevOps, puis choisissez une organisation existante ou créez-en une nouvelle :

Choix d'une organisation dans Azure DevOps

Création d'une nouvelle organisation dans Azure DevOps

Créez un projet au sein de l'organisation sélectionnée :

Formulaire de création d'un projet Azure DevOps avec nom, description et visibilité

Créer un référentiel

Allez dans Repos > Files > Initialize :

Option Initialize dans la section Repos > Files d'Azure DevOps

Vous disposez maintenant d'un projet et d'un référentiel initialisé avec un fichier README, configuré avec une branche « main » par défaut.

Référentiel Git initialisé dans Azure DevOps avec un fichier README et la branche main

Cloner le référentiel sur la machine locale

Accédez au référentiel et clonez-le :

Option de clonage d'un référentiel Git dans Azure DevOps

Cliquez ensuite sur « Clone in VS Code » :

Option Cloner dans VS Code pour ouvrir le référentiel dans Visual Studio Code

Sélectionnez un dossier local pour le référentiel :

Sélection d'un dossier local dans Visual Studio Code pour cloner le référentiel Azure DevOps

Ouvrez le référentiel dans VS Code et enregistrez votre projet Power BI dans le dossier sélectionné :

Visual Studio Code affichant le référentiel cloné avec un projet Power BI PBIP enregistré

Validez les modifications (commit) :

Modifications du projet Power BI prêtes à être validées dans Git depuis Visual Studio Code

Synchronisez les modifications avec le référentiel distant :

Synchronisation des modifications locales avec le dépôt distant Azure DevOps depuis Visual Studio Code

Ouvrez Azure DevOps et vérifiez les modifications :

Derniers commits du référentiel dans Azure DevOps confirmant la synchronisation

Exemple de modification du modèle sémantique

Ajout d'une nouvelle relation entre deux tables du modèle :

Ajout d'une relation entre deux tables dans le modèle de données Power BI

Intégrer Git à un espace de travail Microsoft Fabric

Prérequis Fabric

  • Disposer d'une capacité Fabric.
  • Autoriser les utilisateurs à créer des éléments Fabric.
  • Autoriser les utilisateurs à synchroniser les éléments d'un espace de travail avec un référentiel Git.

Paramètres d'administration Fabric pour autoriser la synchronisation des espaces de travail avec Git

Prérequis Git

L'intégration Git des espaces de travail Fabric prend en charge Azure DevOps et GitHub. Ce guide utilise Azure DevOps, ce qui suppose :

  • un compte Azure actif, associé au même utilisateur que celui de l'espace de travail Fabric ;
  • un accès à un référentiel existant.

Connecter un espace de travail à un référentiel Git

Dans Fabric, ouvrez l'espace de travail > Paramètres de l'espace > « Git integration » > Azure DevOps > Connect.

Connexion d'un espace de travail Fabric à un référentiel Git via Azure DevOps

Une fenêtre s'ouvre pour indiquer l'organisation, le projet, le référentiel Git et la branche. Un espace de travail ne peut être connecté qu'à une seule branche et un seul dossier à la fois. Sélectionnez « Connect and Sync ».

Configuration de la connexion Git dans Fabric : organisation, projet, référentiel et branche

Confirmation de la synchronisation réussie avec le référentiel Git

Configurer le pipeline de déploiement dans Fabric

Prérequis

  • Disposer d'un abonnement Microsoft Fabric.
  • Être administrateur d'un espace de travail Fabric.
  • Disposer de trois espaces de travail « Dev, Test, Prod ».

Créer et configurer le pipeline

  • Accédez à « Deployment pipelines » dans Fabric.
  • Ajoutez un pipeline avec « + New pipeline ».
  • Nommez votre pipeline et cliquez sur « Next ».

Création d'un nouveau pipeline de déploiement dans Microsoft Fabric

Définissez les étapes de votre pipeline et nommez-les :

Configuration des étapes personnalisables d'un pipeline de déploiement Fabric

Attribuez les espaces « Dev, Test, Prod » créés auparavant aux étapes correspondantes :

Attribution des espaces de travail Dev, Test et Prod aux étapes du pipeline Fabric

Déployer

Reprenons le cycle de vie de développement d'un rapport classique :

  • publiez le rapport Power BI dans l'espace de développement ;
  • ouvrez le pipeline de déploiement et vérifiez la présence des éléments publiés dans l'espace de développement (« un rapport + un modèle sémantique »). Le pipeline signale aussi les changements intervenus depuis le dernier déploiement.

Pipeline de déploiement Fabric affichant un rapport Power BI et un modèle sémantique publiés dans l'espace de développement

Cliquez sur « Deploy » pour déployer de l'espace « Développement » vers l'espace « Test ». Vous pouvez de même déployer de « Test » vers « Prod ».

Bouton Deploy du pipeline Fabric pour déployer le rapport et le modèle de Développement vers Test

Règles de déploiement et bonnes pratiques

Lors d'un déploiement entre les phases du pipeline, des règles peuvent s'appliquer : les phases peuvent avoir des configurations différentes, par exemple pour les sources de données (base de test, base de production).

Pour garantir la qualité, la sécurité et la fiabilité des rapports Power BI, appliquez ces bonnes pratiques :

  • gestion des accès aux sources de données : chaque espace de travail pointe vers la bonne source ;
  • gestion des accès aux espaces de travail (développeur, testeur, utilisateur final) ;
  • vérification de la sécurité au niveau des lignes (RLS) ;
  • test des performances (temps de chargement des visuels, rafraîchissement des modèles) ;
  • vérification des calculs.

Conclusion

L'intégration du CI/CD dans Power BI et Fabric, en s'appuyant sur Azure DevOps et le TMDL, offre de nombreux avantages :

  • faciliter la collaboration et le travail en équipe ;
  • permettre le contrôle de version et le suivi des modifications avec Git ;
  • minimiser les erreurs et améliorer la qualité des solutions décisionnelles ;
  • déployer plus vite et de façon plus fiable.

Le TMDL permet de gérer les modèles sémantiques en code et facilite ainsi l'intégration de Power BI dans un processus CI/CD.

Pour valider l'usage de Power BI dans votre contexte, réaliser vos premiers rapports puis accélérer son déploiement, découvrez notre accompagnement Power BI ou contactez nos équipes.

Questions fréquentes

Qu'est-ce que le TMDL dans Power BI ?

Le TMDL (Tabular Model Definition Language) est un langage déclaratif qui définit en code les objets d'un modèle sémantique : tables, mesures, relations. Il facilite le travail simultané à plusieurs et l'intégration de Power BI dans un processus CI/CD.

Pourquoi enregistrer un rapport Power BI au format PBIP ?

Le projet PBIP enregistre le rapport et le modèle sémantique dans des fichiers texte structurés. On peut alors les modifier dans un éditeur de code comme VS Code, les versionner avec Git (historique, comparaison des révisions) et les intégrer à un processus CI/CD.

À lire aussi

Un projet data ? Parlons-en.

30 minutes avec un expert pour cadrer votre besoin.

Parler d'un projet