Logo Microsoft Fabric

Pipeline CI/CD Microsoft Fabric avec GitHub

Partie 4: Protection des branches, déploiement et test de bout en bout

Cette dernière partie sécurise les branches critiques du dépôt, déclenche le premier déploiement automatique vers Microsoft Fabric, puis valide le pipeline en simulant le flux complet d’un développeur jusqu’à un déploiement contrôlé en production.

Étape 7. Protéger les branches critiques

La protection des branches empêche toute modification non validée sur les branches stratégiques. Toute évolution de main ou de release/* doit alors passer par une Pull Request avec un pipeline CI vert.

Protéger la branche main

  • Aller dans Settings puis Branches du dépôt GitHub.
  • Cliquer sur Add branch ruleset.
  • Cibler la branche main.
  • Activer les règles : Pull Request obligatoire avant merge, status checks requis (workflow CI), interdiction de force push.
  • Cliquer sur Create pour enregistrer la règle.

Création d'une règle de branche dans GitHub.

Paramétrage de la règle de protection de branche.

Finalisation de la règle de protection.

Protéger les branches release/**

Refaire la même procédure en ciblant release/** avec les mêmes règles. L’objectif est qu’aucun déploiement PROD ne puisse être déclenché par un push direct non revu.

Limitation à connaître : ces règles ne sont pleinement appliquées que sur les dépôts publics ou sur certains plans GitHub payants. Sur un dépôt privé en plan Free, les règles sont enregistrées mais ne sont pas appliquées en pratique.

Information sur les limitations de règles selon le plan GitHub.

Étape 8. Committer et pousser les fichiers

Une fois la structure remplie et les workflows en place, c’est le push initial qui déclenche le premier pipeline CD DEV.

# vérifier l'état du dépôt local
git status

# ajouter, committer puis pousser
git add .
git commit -m "Mise en place du pipeline CI/CD Fabric"
git push origin main

Attention : si la protection de la branche main est active et appliquée, le push direct est rejeté. Dans ce cas, créez une branche de travail, ouvrez une Pull Request et mergez après validation du CI.

Dans l’onglet Actions du dépôt, le workflow CD DEV doit se déclencher automatiquement et passer au vert. Le notebook de démonstration est alors déployé dans le workspace Fabric DEV.

Exécution réussie du workflow CD DEV dans GitHub Actions.

Étape 9. Tester le pipeline de bout en bout

Le test final simule le flux complet d’un développeur : modification d’un notebook sur une branche de travail, Pull Request, CI, merge, déploiement DEV automatique, puis déclenchement d’un déploiement PROD via une branche release/*.

Créer la branche de travail

Sur le dépôt GitHub, ouvrez le sélecteur de branche, saisissez feature/demo-notebook puis cliquez sur Create branch: feature/demo-notebook from main.

Modifier le notebook et committer

Sur la branche feature/demo-notebook, ouvrez fabric/notebooks/demo.ipynb et modifiez une cellule, par exemple :

print('Hello from Kwanzeo')
print('Déployé automatiquement via GitHub Actions')

Validez avec Commit changes.

Commit d'une modification du notebook sur la branche feature.

Ouvrir la Pull Request

GitHub propose automatiquement une bannière Compare and pull request. Cliquez dessus, vérifiez que la base est main et la branche comparée feature/demo-notebook, remplissez le titre et la description puis créez la PR. Le pipeline CI se déclenche immédiatement.

Pull Request entre feature/demo-notebook et main.

Formulaire de création de Pull Request dans GitHub.

Observer le pipeline CI

Sur la page de la Pull Request, faites défiler jusqu’à la section Checks. Le job test apparaît en cours d’exécution. Cliquez sur Details pour voir les logs en temps réel et attendez que les étapes passent au vert. En cas d’échec, lisez les logs, corrigez le fichier sur la même branche et committez à nouveau : la CI relance automatiquement sur le nouveau commit.

Merger la Pull Request

Une fois les checks verts, cliquez sur Merge pull request, confirmez, puis supprimez la branche feature qui a rempli son rôle.

Merge d'une Pull Request validée.

Observer le déploiement DEV

Le merge sur main déclenche immédiatement le workflow cd-dev.yml. Dans l’onglet Actions, vérifiez que le workflow CD DEV passe au vert. Ouvrez ensuite votre workspace Fabric DEV : le notebook reflète la modification.

Notebook déployé dans le workspace Fabric DEV.

Comportement attendu : après l’exécution du pipeline CD DEV, le notebook peut apparaître dans Fabric avec le statut Uncommitted. Le déploiement via API REST est indépendant de la synchronisation Git native de Fabric, qui détecte alors une différence avec la branche associée. Cela n’affecte ni l’exécution du notebook ni le pipeline.

Déclencher le déploiement PROD

Le déploiement PROD ne se déclenche jamais automatiquement depuis main. Il nécessite la création et le push d’une branche release/*.

git checkout main
git pull origin main
git checkout -b release/v1.0.0
git push origin release/v1.0.0

Le push de cette branche déclenche le workflow cd-prod.yml. Dans l’onglet Actions, vérifiez qu’il passe au vert. Ouvrez ensuite le workspace Fabric PROD : le notebook y est déployé indépendamment du workspace DEV.

Création d'une branche release pour déclencher le déploiement PROD.

Exécution réussie du workflow CD PROD dans GitHub Actions.

Notebook déployé dans le workspace Fabric PROD.

Conclusion

Le pipeline CI/CD Microsoft Fabric basé sur GitHub Actions est désormais opérationnel : code versionné, validé, déployé automatiquement en DEV et de manière contrôlée en PROD. Cette fondation peut être enrichie selon vos besoins, par exemple avec d’autres types d’artefacts Fabric, plus d’environnements, ou des étapes de validation avancées.

Poursuivre la lecture

Les différentes parties du tutoriel

Retrouvez les quatre parties de ce tutoriel sur la mise en place d’un pipeline CI/CD entre GitHub et Microsoft Fabric, depuis la préparation initiale jusqu’au test de bout en bout.

Partie 1 Présentation, prérequis et dépôt GitHub Comprendre l’architecture, vérifier les accès et créer le dépôt qui hébergera le projet. Partie 2 Service Principal Azure et workspaces Fabric Créer l’identité applicative Azure, les workspaces DEV et PROD, et l’intégration Git. Partie 3 Secrets, scripts Python et workflows GitHub Actions Configurer les secrets, écrire les scripts de déploiement et créer les workflows CI/CD. Partie 4 Protection des branches, déploiement et test Sécuriser les branches critiques, lancer le pipeline et valider le bout en bout.

Rédigé par Achref