Ressources
Utiliser Git avec Entropy Data
Utiliser Git dans votre entreprise peut prendre bien des formes. Nous couvrons ici les cas d'usage les plus courants avec la prise en charge de Git dans Entropy Data. Cet article traite de « Git comme système de référence », « Entropy Data comme système de référence (trunk-based) » et « Entropy Data comme éditeur (avec workflows de PR) ».
Prérequis
Pour cet article, nous supposons que vous savez configurer Git et connecter les produits de données et les Data Contracts à leurs dépôts Git respectifs. Vous trouverez plus d'informations à ce sujet dans la documentation.
Le point le plus important à retenir : les connexions sont distinctes pour les produits de données et pour les Data Contracts. La granularité est la suivante : un objet dans Entropy Data est connecté à « un fichier, dans un dépôt Git, sur une branche ».
Structure de dépôt recommandée
Nous recommandons un dépôt par produit de données. Le fichier YAML du produit de données se trouve à la racine, avec les autres fichiers dont le produit de données a besoin.
Chaque Output Port dispose de son propre sous-dossier, et les fichiers YAML des Data Contracts y sont placés.
Git comme système de référence
Le premier cas d'usage consiste à utiliser Entropy Data comme couche de visualisation de vos produits de données. Le dépôt est la source de vérité unique et contient tous les artefacts de code ainsi que les fichiers YAML des produits de données et des Data Contracts.
Lorsqu'un fichier est mis à jour, les changements sont synchronisés via un pull Git dans Entropy Data :
Comme vous le voyez, plusieurs moyens manuels et automatiques permettent d'intégrer vos workflows avec Entropy Data dans ce cas.
a) Effectuer un pull manuel
Dès qu'Entropy Data détecte un changement côté Git, un bouton « Pull » s'affiche dans la carte de connexion Git lorsque vous ouvrez un produit de données ou un Data Contract connecté. Si vous le sélectionnez, le YAML est récupéré depuis Git, le produit de données ou le Data Contract est mis à jour dans Entropy Data, et tous les changements prennent effet immédiatement.
b) Déclencher un pull via la CLI ou l'API REST Entropy Data en CI/CD
Vous pouvez aussi déclencher un pull pour un fichier dans votre pipeline CI/CD. Il vous suffit de disposer de l'identifiant unique de votre ressource. Consultez l'API REST Entropy Data pour savoir quelles requêtes sont disponibles. Nous prévoyons d'ajouter prochainement la prise en charge du pull Git dans la CLI Entropy Data.
c) Activer la synchronisation par webhook
Lors de la configuration de la connexion pour votre ressource, Entropy Data génère une Webhook URL unique, affichée dans la section Auto Sync Git to Entropy Data de la boîte de dialogue de connexion Git. Copiez cette URL et créez un webhook correspondant chez votre fournisseur Git (par exemple dans les paramètres du dépôt sur GitHub). À partir de là, chaque fois que des commits sont poussés vers le dépôt connecté, le fichier est mis à jour automatiquement dans Entropy Data. Si le webhook échoue pour une raison quelconque, vous devrez peut-être effectuer un pull manuel ; votre fournisseur Git vous informera des appels de webhook en échec. Pour diagnostiquer les problèmes, consultez notre documentation.
Intégration uniquement par CI/CD
Si des restrictions vous empêchent de laisser des applications ou services externes utiliser les identifiants Git de votre organisation, vous pouvez utiliser l'API Entropy Data pour synchroniser les fichiers YAML de vos produits de données et/ou Data Contracts dans votre pipeline CI/CD.
Dans ce cas, vous ne bénéficierez pas des fonctionnalités supplémentaires comme la détection et la résolution de conflits, ni de l'ensemble des capacités d'édition d'Entropy Data.
Entropy Data comme système de référence (trunk-based)
Si vous souhaitez profiter des capacités d'édition d'Entropy Data, vous pouvez adopter une
approche de développement trunk-based. Cela signifie que tous les contributeurs d'un dépôt
travaillent sur la branche main et committent fréquemment. Si Entropy Data est
le seul outil utilisé pour travailler sur les fichiers dans Git, le workflow de ce mode de
développement est simple :
a) Pousser vers Git manuellement
Vous modifiez la ressource en autant d'étapes que vous le souhaitez avec les éditeurs d'Entropy Data, puis vous décidez qu'une nouvelle itération dans Git s'impose. Vous sélectionnez le bouton « Push », affiché automatiquement dès qu'Entropy Data détecte des changements sur une ressource. Vous pouvez choisir entre « Push Directly » et « Create Pull Request » (voir plus bas). Pour du développement trunk-based, choisissez « Push Directly » : le fichier est mis à jour dans Git.
Toutes les actions en aval qui dépendent d'un push Git sont déclenchées selon vos pipelines CI/CD, vos autres hooks, listeners, et ainsi de suite.
b) Activer Auto Push
Vous pouvez également activer l'option « Auto Push » lors de la création d'une connexion Git pour une ressource. Dans ce cas, chaque enregistrement d'un produit de données ou d'un Data Contract est automatiquement poussé vers le fichier connecté, sur la branche connectée dans Git.
Les actions en aval se déclenchent de nouveau à chaque changement de ce type.
Entropy Data comme éditeur (avec workflows de PR)
De nombreuses organisations utilisent une branche main protégée afin de mieux
contrôler les changements déployés dans leurs environnements de production. Pour ces cas,
Entropy Data prend en charge les pull requests et les merge requests (pour simplifier la
lecture, désignées par PR dans la suite).
Dans cet article, nous supposons que vous utilisez Entropy Data pour éditer les produits de données et les Data Contracts, puis que vous souhaitez ensuite mettre à jour les fichiers dans Git.
a) Pousser avec une PR manuellement
Comme décrit plus haut, un bouton « Push » apparaît sur la carte de connexion Git pour tout changement présent dans Entropy Data mais pas encore synchronisé avec Git.
Si vous souhaitez adopter l'approche par PR, sélectionnez l'option « Create Pull Request » dans la fenêtre qui s'affiche.
Comme on peut s'y attendre, l'interface vous laisse nommer la branche à créer, le titre de la PR et le message de commit.
Une fois vos choix confirmés, Entropy Data crée une nouvelle branche dans le dépôt connecté, committe et pousse les changements sur cette branche, puis ouvre une nouvelle PR chez votre fournisseur Git. Les PR en attente sont affichées dans la carte de connexion Git de votre ressource.
Votre équipe peut ensuite suivre vos workflows habituels pour les changements, comme les revues de code et les tests automatisés. Vous pouvez continuer à utiliser Entropy Data pour appliquer des changements par-dessus la PR et les pousser sur sa branche tant qu'elle reste ouverte.
Lorsque tout est terminé et que la PR est fusionnée, Entropy Data détecte automatiquement la PR fermée et met à jour le statut de synchronisation.
Remarque
Si vous optez pour cette approche, gardez à l'esprit que l'objet dans Entropy Data (par exemple le Data Contract) ne sera pas synchronisé avec la version du dépôt tant que la PR reste ouverte.
Après la fusion, vos actions habituelles sont déclenchées, comme d'ordinaire.
b) Pousser avec une PR automatiquement
Si vous avez activé l'option de push automatique vers une PR lors de la création de la connexion Git, le workflow est globalement le même, mais certaines étapes se font implicitement. Si une PR est déjà en attente, les changements sont automatiquement committés et poussés sur sa branche. Sinon, une nouvelle PR est créée avec vos paramètres par défaut pour la branche, le nom de la PR et le message de commit.
Une fois tous les changements effectués, tout ce qui est décrit plus haut pour le processus manuel s'applique également ici.
Gérer les produits de données et les Data Contracts avec Entropy Data
Entropy Data fournit une plateforme web pour gérer les produits de données, les Data Contracts et les data usage agreements en self-service, avec des intégrations Git pour tous les workflows décrits dans cet article.
Créer un compte gratuit, ou explorer la démo interactive.