Qu’est-ce que le CI/CD dans Microsoft Fabric ?

L’intégration continue et la livraison continue (CI/CD) dans Microsoft Fabric offrent aux équipes de développement un moyen standardisé de construire, de réviser et de publier du contenu rapidement et de manière fiable. Au lieu d’utiliser des mises à jour manuelles, les équipes intègrent fréquemment les changements via le contrôle de version et les livrent via des pipelines automatisés. Cette approche garantit que les nouvelles fonctionnalités et corrections de bugs arrivent rapidement et en toute sécurité.

La plateforme Fabric CI/CD est construite sur les API Fabric REST et réunit le contrôle de version, la diffusion, la configuration et les outils de développement en une expérience unique et intégrée. Le reste de cet article parcourt la plateforme couche par couche.

La plateforme Fabric CI/CD en un coup d’œil

La plateforme Fabric CI/CD couvre plusieurs capacités principales, toutes construites sur la base de l’API Fabric REST :

  • Intégration Git - Synchronisez un espace de travail avec un dépôt Git dans Azure DevOps ou GitHub, avec support du principal de service.
  • Pipelines de déploiement - Promouvoir le contenu entre les étapes de développement, test et production avec des règles de configuration et une comparaison de contenu.
  • API Fabric REST - La couche de base pour le CRUD d’objets, les définitions d’éléments, la capacité, l’espace de travail, l’accès et les opérations de tâches.
  • Bibliothèque de variables - Configuration en tant que code, avec ensembles de valeurs par étape pour CI/CD, géré via l’API ou l’interface utilisateur.
  • Fabric CLI - Un outil open source, scriptable, de type système de fichiers, prêt pour GitHub Actions et Azure DevOps.
  • Terraform et fabric-cicd - Infrastructure en tant que code pour les environnements, où fabric-cicd est l’outil de déploiement le plus largement adopté.

Schéma des composants de la plateforme Fabric CI/CD : intégration Git, pipelines de déploiement, API Fabric REST, bibliothèque variable, CLI Fabric et Terraform avec fabric-cicd.

Architecture de référence

L’architecture de référence d’entreprise suivante montre comment ces couches s’emboîtent. Les outils de développement s’appuient sur la couche de base de l’API REST Fabric. Le contenu circule à travers la couche d’intégration et de livraison Fabric avec la bibliothèque variable, l’intégration Git et les pipelines de déploiement. Le contrôle de version et l’automatisation CI s’exécutent sur GitHub ou Azure DevOps avec un coureur CI/CD. Les ressources tenant Azure et Fabric compatibles incluent les capacités Dev, Test et Prod, Azure Key Vault, un réseau privé, les paramètres de locataire, les connexions, les domaines, ainsi que les espaces de travail parent et de branche créés via le branchement.

Diagramme d’architecture de référence d’entreprise montrant les outils de contrôle pour les développeurs au-dessus de la couche de base de l’API REST Fabric, la couche Fabric d’intégration et de livraison avec la bibliothèque de variables, l’intégration Git et les pipelines de déploiement, la gestion du code source et l’automatisation CI avec GitHub, Azure DevOps et un agent CI/CD, ainsi que le plan de ressources du locataire Azure et Fabric avec des capacités Dev, Test et Prod, Azure Key Vault, un réseau privé et des espaces de travail parent et de branche.

API Fabric REST : la base

Toutes les capacités CI/CD de Fabric reposent sur les API Fabric REST, qui fournissent un accès programmatique aux opérations principales : création, lecture, mise à jour et suppression d’éléments, définitions d’éléments, gestion de la capacité, de l’espace de travail et des accès, et planification des tâches. Chaque expérience de niveau supérieur, de l’intégration Git aux pipelines de déploiement, utilise ces API, donc tout ce que vous faites dans le portail peut aussi être automatisé.

Intégration et livraison de Fabric

Cette couche fait passer le contenu de manière fiable du développement à la production grâce à trois capacités complémentaires.

Remarque

Certains des éléments de CI/CD sont en version préliminaire. Voir la liste des éléments pris en charge pour les fonctionnalités d’intégration et de pipeline de déploiement Git.

Intégration Git

Organigramme montrant la connexion entre la branche Git distante et l’espace de travail en direct.

En utilisant l'intégration Git de Fabric, plusieurs développeurs peuvent fréquemment et de manière fiable effectuer des mises à jour incrémentales de l'espace de travail. En appliquant les avantages et les meilleures pratiques de Git, les développeurs collaborent et veillent à ce que les changements de contenu arrivent rapidement et de manière fiable à l’espace de travail. Lorsque le contenu est prêt, le processus de livraison peut alors le transmettre aux pipelines de déploiement pour tests et distribution.

Pipelines de déploiement

Illustration montrant le flux de données dans un pipeline de déploiement, des données à l'application.

Les pipelines de déploiement de Fabric automatisent la livraison de contenus modifiés vers des environnements tels que les tests et la production. Les équipes produisent des mises à jour en cycles courts, avec une grande rapidité, une fréquence et une fiabilité élevées. Vous pouvez publier du contenu à tout moment grâce à un processus de déploiement simple et répétable.

Pour une expérience CI/CD la plus efficace possible dans Fabric, connectez votre espace de travail développeur à Git, et déployez depuis cet espace de travail connecté en utilisant des pipelines de déploiement.

Bibliothèque de variables

En utilisant des bibliothèques de variables, vous pouvez :

  • Définir et gérer les variables définies par l’utilisateur de manière unifiée pour tous les éléments de l’espace de travail.
  • Utilisez les variables à différents endroits dans le produit : dans les définitions d’éléments, comme les requêtes, comme références à d’autres éléments, comme un identifiant de lakehouse, et plus encore.
  • Réutilisez les variables entre les charges de travail et les articles Fabric. Par exemple, plusieurs éléments dans l’espace de travail peuvent faire référence à la même variable.
  • Ajustez les valeurs en fonction du stade de pipeline de sortie pour CI/CD.

Gestion de versions et automatisation de l’intégration continue

L’intégration Fabric Git connecte un espace de travail à un dépôt Git soit sur GitHub, soit sur Azure DevOps. Votre automatisation d’intégration continue, comme valider une pull request ou mettre à jour un espace d’intégration depuis Git, s’exécute dans n’importe quel runner CI/CD : GitHub Actions, Azure Pipelines ou un runner auto-hébergé. Le support du principal de service permet à ces flux automatisés de s’authentifier sans utilisateur connecté, via le fournisseur Azure DevOps.

Outils et infrastructures pour les développeurs en tant que code

Les développeurs font évoluer la plateforme grâce à des outils scriptables qui s’appuient sur les API Fabric REST.

Interface en ligne de commande Fabric

La ligne de commande Fabric (fab) est un outil open source et scriptable en ligne de commande, doté d’une interface de type système de fichiers via Fabric. Il fonctionne bien dans GitHub Actions et Azure DevOps pour automatiser la synchronisation Git, le déploiement et la gestion des items.

Terraform et fabric-cicd

Pour l’infrastructure en tant que code, utilisez le fournisseur Terraform pour Fabric afin de fournir des environnements Fabric tels que les espaces de travail et les capacités. Utilisez fabric-cicd, une bibliothèque Python, pour déployer les définitions d’éléments à partir d’un dépôt contrôlé par le code source. Fabric-CICD est l’outil de déploiement le plus largement adopté pour Fabric CI/CD.