CI/CD avec les dossiers Git Databricks
Utilisez les dossiers Databricks Git dans vos flux CI/CD pour conserver le travail dans le contrôle de la source et l'intégrer à vos workflows de Data Engineering. Pour un aperçu plus large de CI/CD avec Databricks, consultez CI/CD sur Databricks.
Flux d'utilisation
L'automatisation des dossiers Git est axée sur la configuration initiale des dossiers et sur l'API REST des Repos Databricks pour automatiser les Opérations Git à partir des Jobs Databricks. Avant de créer l'automatisation :
- Passez en revue les repositories Git distants que vous utiliserez.
- Choisissez les bons repos et Branch pour chaque étape (développement, intégration, pré-production, production).
Il y a trois flux principaux :
- Flux administrateur : Un administrateur de workspace Databricks crée des dossiers de niveau supérieur pour héberger des dossiers Git de production. L'administrateur clone un repository et une branch lors de la création de chaque dossier et peut les nommer en fonction de leur objectif (par exemple, « Production », « Test » ou « Staging »). Consultez Créer un dossier Git de production.
- Flux utilisateur : un utilisateur crée un dossier Git sous
/Workspace/Users/<email>/à partir d'un repository distant, travaille sur une branch spécifique à l'utilisateur et envoie les commits vers le remote. Consultez Collaborer à l'aide de dossiers Git. - Flux de merge : après l'envoi depuis un dossier Git, les utilisateurs ouvrent des pull requests (PR). Lorsqu'une PR est Merge, l'automatisation peut extraire les modifications dans les dossiers Git de production à l'aide de l'API Databricks Repos.
Collaborez à l'aide de dossiers Git
Collaborez avec d'autres en extrayant et en poussant des modifications depuis l'interface utilisateur de Databricks. Un motif courant consiste à utiliser une Branch de fonctionnalités ou de développement pour agréger le travail.
Pour collaborer sur une Branch de fonctionnalités :
- Clonez votre Git repository existant vers votre Databricks Workspace.
- Dans l'interface utilisateur des dossiers Git, créez une Branch de fonctionnalités à partir de la Branch principale. Vous pouvez utiliser plusieurs branches de fonctionnalités selon les besoins.
- Modifier les notebooks Databricks et d'autres fichiers dans le dépôt.
- Commit et envoyez vos modifications au repository distant.
- D'autres contributeurs peuvent cloner le référentiel dans leur propre dossier utilisateur. Ils travaillent sur une Branch, modifient les Notebooks et les fichiers dans le dossier Git, puis commit et push vers le dépôt distant.
- Lorsque vous êtes prêt, créez une PR sur votre fournisseur Git, révisez avec votre équipe et Merge dans la Branch de déploiement.
Databricks recommande que chaque développeur travaille sur sa propre branch. Pour résoudre les conflits de Merge, consultez Résoudre les conflits de Merge.
Choisissez une approche CI/CD
Databricks recommande les Declarative Automation Bundles pour packager et déployer les flux de travail CI/CD. Si vous préférez déployer uniquement du code dans le Workspace, vous pouvez utiliser un dossier Git de production à la place. Pour un aperçu plus large du CI/CD, consultez CI/CD sur Databricks.
Définissez des ressources telles que des Jobs et des pipelines dans la source à l’aide de bundles, puis créez, déployez et gérez-les dans les dossiers Git du workspace. Voir Collaborer sur des bundles dans le Workspace.
Créer un dossier Git de production
Les dossiers Git de production sont différents des dossiers Git de niveau utilisateur sous /Workspace/Users/. Les dossiers de niveau utilisateur sont des extractions locales où les utilisateurs développent et poussent les modifications. Les dossiers Git de production sont créés par les administrateurs en dehors des dossiers utilisateur, contiennent les branches de déploiement et sont la source des workflows automatisés. Ils ne devraient être mis à jour que par l'automatisation lorsque les PR sont fusionnées dans les branches de déploiement. Restreindre les dossiers Git de production à un accès en exécution seule pour la plupart des utilisateurs. Autorisez uniquement les administrateurs et les Service Principal Databricks à les modifier.

Pour créer un dossier Git de production :
-
Choisissez le repository Git et la Branch pour le déploiement.
-
Créez ou utilisez un Service Principal et configurez un identifiant Git afin qu'il puisse accéder à ce repository.
-
Créez un dossier Git Databricks pour le dépôt et la Branch dans un sous-dossier sous Workspace (par exemple, par projet, équipe ou étape).
-
Sélectionnez le dossier, puis **Partager** (ou faites un clic droit sur **Partager (Autorisations)** dans l'arborescence du Workspace).
-
Attribuer des niveaux d’autorisations :
- Peut s'exécuter pour les utilisateurs du projet qui ont besoin d'exécuter des workflows.
- Peut exécuter pour tout Service Principal Databricks qui exécute l'automatisation sur ce dossier.
- En option, Peut afficher pour tous les utilisateurs du Workspace afin de faciliter la découverte et le partage.

-
Cliquez sur **Ajouter**.
-
Maintenez le dossier Git de production synchronisé avec la Branch distante à l'aide de l'une de ces options :
- CI/CD externe : utilisez des outils tels que GitHub Actions pour extraire les derniers commit lorsqu'une PR est Merge dans la Branch de déploiement. Pour un exemple, consultez Exécutez un workflow CI/CD qui met à jour un dossier Git.
- Job planifié : Si le CI/CD externe n'est pas disponible, exécutez un job planifié qui met à jour le dossier Git. Utilisez un Notebook simple qui s'exécute selon un planning :
Pythonfrom databricks.sdk import WorkspaceClient
w = WorkspaceClient()
w.repos.update(w.workspace.get_status(path="<git-folder-workspace-full-path>").object_id, branch="<branch-name>")
Pour plus d'informations sur l'automatisation avec l'API Repos, consultez la documentation de l'API REST Databricks pour Repos.