Contrôle de code source et déploiement pour les notebooks

Cet article explique comment l’intégration de Git et les pipelines de déploiement fonctionnent pour les notebooks dans Microsoft Fabric. Découvrez comment configurer une connexion à votre dépôt, gérer vos notebooks et les déployer dans différents environnements.

Intégration de Git pour les notebooks

Les notebooks Fabric offrent l’intégration de Git pour le contrôle de code source avec Azure DevOps. Avec l’intégration de Git, vous pouvez sauvegarder et versionner votre notebook, revenir aux phases précédentes si besoin, collaborer ou travailler seul en utilisant des branches Git et gérer entièrement le cycle de vie du contenu de votre notebook dans Fabric.

Remarque

À partir d’octobre 2024, l’intégration Git des notebooks prend en charge la persistance de la relation de mappage de l’environnement attaché lors de la synchronisation vers un nouvel espace de travail, ce qui signifie que quand vous commitez le notebook et l’environnement attaché ensemble dans le référentiel Git et que vous le synchronisez vers un autre espace de travail, le notebook et l’environnement nouvellement générés seront liés ensemble. Cette mise à niveau aura un impact sur les notebooks et les environnements dépendants existants qui sont versionnés dans Git, l’ID physique de l’environnement attaché dans le contenu des métadonnées du notebook sera remplacé par un ID logique et la modification sera reflétée dans la vue différentielle.

Configurer une connexion

Avec les paramètres de votre espace de travail, vous pouvez facilement configurer une connexion à votre dépôt pour commiter et synchroniser les modifications. Pour configurer la connexion, consultez Démarrer avec l’intégration de Git. Une fois connectés, vos éléments, y compris les notebooks, apparaissent dans le panneau Contrôle de code source.

Capture d’écran du panneau de contrôle de code source de l’espace de travail.

Une fois que vous avez correctement commité les instances de notebook dans le dépôt Git, vous voyez la structure des dossiers du notebook dans le dépôt.

Vous pouvez maintenant exécuter des opérations comme Créer une demande de tirage.

Représentation des notebooks dans Git

L’image suivante est un exemple de structure de fichiers de chaque élément de notebook dans le dépôt :

Capture d’écran de la structure de fichiers de référentiel Git Notebook.

Lorsque vous commitez l’élément de notebook dans le dépôt Git, le code du notebook est converti dans un format de code source, au lieu d’un fichier .ipynb standard. Par exemple, un notebook PySpark se convertit en fichier notebook-content.py. Cette approche permet de faciliter les revues de code à l’aide de fonctionnalités de diff intégrées.

Dans le fichier source de contenu de l’élément, les métadonnées (y compris le lakehouse par défaut et l’environnement attaché), les cellules Markdown et les cellules de code sont conservées et mises en évidence. Cette approche prend en charge une récupération précise quand vous resynchronisez vers un espace de travail Fabric.

La sortie des cellules de notebook n’est pas incluse lors de la synchronisation avec Git.

Capture d'écran du format de contenu du repo Git du notebook.

Remarque

  • Actuellement, les fichiers dans les ressources de notebook ne sont pas commités dans le dépôt. Le commit de ces fichiers est pris en charge dans une version à venir.
  • Nous vous recommandons de gérer les notebooks et leur environnement dépendant dans le même espace de travail, et d’utiliser Git pour contrôler les versions des éléments des notebooks et de l’environnement ; le système Git Fabric va gérer la relation de mappage lors de la synchronisation du notebook et de l’environnement attaché vers de nouveaux espaces de travail.
  • L’ID du lakehouse par défaut reste dans le notebook lorsque vous synchronisez à partir du dépôt vers l’espace de travail Fabric. Si vous commitez un notebook avec le lakehouse par défaut, vous devez faire référence manuellement à un élément de lakehouse nouvellement créé. Pour plus d’informations, consultez Intégration de Git pour un lakehouse.

Notebook dans les pipelines de déploiement

Vous pouvez également utiliser un pipeline de déploiement pour déployer votre code de notebook dans différents environnements : développement, test et production. Cette fonctionnalité peut vous permettre de simplifier votre processus de développement, de garantir la qualité et la cohérence, et de réduire les erreurs manuelles avec des opérations low-code légères. Vous pouvez également utiliser des règles de déploiement pour personnaliser le comportement de vos notebooks lorsqu’ils sont déployés, par exemple changer le lakehouse par défaut d’un notebook.

Remarque

  • Si vous utilisez la nouvelle conception du pipeline de déploiement maintenant, vous pouvez accéder à l’ancienne interface utilisateur en désactivant « Nouveau pipeline de déploiement ».
  • À compter d’octobre, les notebooks Fabric prennent en charge la fonctionnalité de liaison automatique qui va lier le lakehouse par défaut et l’environnement attaché dans le même espace de travail lors du déploiement à l’étape suivante. La modification aura un impact sur les notebooks existants dans le pipeline de déploiement.
    • Le lakehouse par défaut et l'environnement attaché (quand tous les éléments dépendants se trouvent dans le même espace de travail) seront remplacés par les éléments nouvellement générés dans l’espace de travail cible ; les changements des métadonnées du notebook seront mis en évidence dans la vue différentielle lors du cycle de déploiement suivant.
    • Vous pouvez définir des règles de déploiement pour le lakehouse par défaut afin de remplacer le lakehouse lié automatiquement.
  • Problème connu : l’état des cellules figées dans le notebook est perdu lors du déploiement. Nous travaillons actuellement sur les tâches qui s’y rapportent.

Effectuez les étapes suivantes pour effectuer votre déploiement de notebook à l’aide du pipeline de déploiement.

  1. Créez un pipeline de déploiement ou ouvrez un pipeline de déploiement existant. (Pour plus d’informations, consultez Bien démarrer avec les pipelines de déploiement.)

  2. Affectez des espaces de travail à différentes phases en fonction de vos objectifs de déploiement.

  3. Sélectionnez, affichez et comparez des éléments, y compris des notebooks entre différentes phases, comme illustré dans l’exemple suivant. Le badge mis en évidence indiquant le nombre d’éléments modifiés entre la phase précédente et la phase actuelle.

    Capture d'écran du notebook dans le pipeline de déploiement.

  4. Sélectionnez Déployer pour déployer vos notebooks dans les phases Développement, Test et Production.

    Capture d’écran de la sélection et du déploiement d’éléments.

    Capture d’écran du déploiement de contenu (pop-up.png).

  5. (Facultatif.) Vous pouvez sélectionner des Règles de déploiement afin de créer des règles de déploiement pour un processus de déploiement. L’entrée Règles de déploiement est dans la phase cible d’un processus de déploiement.

    Capture d'écran du déploiement des règles de déploiement.

    Lors du déploiement, Fabric prend en charge le paramétrage du lakehouse par défaut pour chaque instance de notebook avec des règles de déploiement. Trois options sont disponibles pour spécifier le lakehouse cible par défaut : Le même que le lakehouse source, N/A (aucun lakehousr par défaut) et Autres lakehouses.

    Capture d'écran de lakehouse par défaut.

    Vous pouvez obtenir une isolation sécurisée des données en configurant cette règle. Le lakehouse par défaut de votre notebook est remplacé par celui que vous avez spécifié comme cible pendant le déploiement.

    Remarque

    Lors de la définition du lakehouse par défaut dans les règles de déploiement, l’ID de lakehouse est obligatoire. Vous pouvez obtenir l’ID de lakehouse à partir du lien d’URL de l’élément. Les règles de déploiement ont une priorité plus élevée que la liaison automatique ; le lakehouse lié automatiquement est remplacé quand une règle de déploiement est configurée.

  6. Surveillez l’état du déploiement dans l’Historique de déploiement.