Cos'è CI/CD in Microsoft Fabric?

L'integrazione continua e la consegna continua (CI/CD) in Microsoft Fabric offrono ai team di sviluppo un modo standardizzato per costruire, revisionare e rilasciare contenuti con rapidità e affidabilità. Invece di aggiornamenti manuali, i team integrano frequentemente le modifiche tramite il controllo del contenuto e le consegnano tramite pipeline automatizzate, così che nuove funzionalità e correzioni di bug arrivino in produzione rapidamente e in sicurezza.

La piattaforma Fabric CI/CD è costruita sulle API Fabric REST e unisce il controllo del fonte, la consegna, la configurazione e gli strumenti per sviluppatori in un'unica esperienza integrata. Il resto di questo articolo esplora la piattaforma livello per strato.

La piattaforma Fabric CI/CD a sguardo

La piattaforma Fabric CI/CD copre diverse capacità fondamentali, tutte basate sulla base Fabric REST API:

  • Integrazione Git - Sincronizza uno spazio di lavoro con un repository Git in Azure DevOps o GitHub, con supporto per il service principal.
  • Pipeline di distribuzione - Promuovi i contenuti tra le fasi di Dev, Test e Prod con regole di configurazione e confronto dei contenuti.
  • API Fabric REST - Il livello base per il CRUD degli elementi, le definizioni degli elementi, la capacità, lo spazio di lavoro, l'accesso e le operazioni di lavoro.
  • Libreria variabile - Configurazione come codice, con set di valori per stadio per CI/CD, gestita tramite l'API o l'interfaccia utente.
  • Fabric CLI - Uno strumento open-source, scriptabile, simile a un file system a linea di comando, pronto per GitHub Actions e Azure DevOps.
  • Terraform e fabric-cicd - Infrastruttura come codice per gli ambienti, dove fabric-cicd è lo strumento di distribuzione più ampiamente adottato.

Diagramma dei componenti della piattaforma Fabric CI/CD: integrazione Git, pipeline di deployment, API Fabric REST, libreria variabile, Fabric CLI e Terraform con fabric-cicd.

Architettura di riferimento

La seguente architettura di riferimento aziendale mostra come questi livelli si incastrano. Gli strumenti per sviluppatori si basano sul livello di base dell'API REST di Fabric. I contenuti scorrono attraverso il livello di integrazione e consegna Fabric con la libreria variabile, l'integrazione Git e le pipeline di distribuzione. Il controllo del codice sorgente e l'automazione CI vengono eseguiti in GitHub o Azure DevOps con un runner CI/CD. Le risorse del tenant di supporto di Azure e Fabric includono capacità di sviluppo, test e produzione, Azure Key Vault, una rete privata, impostazioni del tenant, connessioni, domini e le aree di lavoro padre e figlie create tramite branch-out.

Diagramma dell'architettura di riferimento aziendale che mostra gli strumenti di controllo per sviluppatori sul livello di base dell'API REST di Fabric, il livello di integrazione e distribuzione di Fabric con libreria delle variabili, integrazione con Git e pipeline di distribuzione, il controllo del codice sorgente e l'automazione CI con GitHub, Azure DevOps e un runner CI/CD, e il piano delle risorse del tenant Azure e Fabric con capacità Dev, Test e Prod, Azure Key Vault, una rete privata e aree di lavoro padre e figlie.

API Fabric REST: la base

Tutte le funzionalità Fabric CI/CD si basano sulle API Fabric REST, che forniscono accesso programmatico alle operazioni principali: creazione, lettura, aggiornamento e cancellazione degli elementi, definizioni degli elementi, gestione della capacità, dello spazio di lavoro e degli accessi, e pianificazione dei lavori. Ogni esperienza di livello superiore, dall'integrazione con Git alle pipeline di deployment, utilizza queste API, quindi qualsiasi cosa tu faccia nel portale puoi anche automatizzarla.

Integrazione e distribuzione di Fabric

Questo livello sposta i contenuti in modo affidabile dallo sviluppo alla produzione attraverso tre capacità complementari.

Nota

Alcuni elementi di CI/CD sono disponibili in anteprima. Consulta l'elenco degli elementi supportati per le funzionalità di integrazione e distribuzione della pipeline di Git.

Integrazione con Git

Diagramma di flusso che mostra la connessione tra il ramo Git remoto e l'area di lavoro dinamica.

Utilizzando l'integrazione Git di Fabric, più sviluppatori possono effettuare aggiornamenti incrementali dello spazio di lavoro in modo frequente e affidabile. Applicando i vantaggi e le best practice di Git, gli sviluppatori collaborano e garantiscono che le modifiche ai contenuti arrivino rapidamente e in modo affidabile allo spazio di lavoro. Quando il contenuto è pronto, il processo di consegna può poi consegnarli alle pipeline di distribuzione per test e distribuzione.

Pipeline di distribuzione

Illustrazione che mostra il flusso di dati in una pipeline di distribuzione dai dati all'app.

Le pipeline di distribuzione di Fabric automatizzano la consegna di contenuti modificati ad ambienti come testing e produzione. I team producono aggiornamenti in brevi cicli con alta velocità, frequenza e affidabilità. Puoi rilasciare contenuti in qualsiasi momento con un processo di distribuzione semplice e ripetibile.

Per un'esperienza CI/CD più efficiente in Fabric, collega il tuo workspace per sviluppatori a Git e distribuisci dallo spazio connesso utilizzando pipeline di deployment.

Libreria di variabili

Utilizzando librerie variabili, puoi:

  • Definire e gestire variabili definite dall'utente in modo unificato per tutti gli elementi dello spazio di lavoro.
  • Usa le variabili in varie parti del prodotto: nelle definizioni degli elementi, ad esempio nelle query, come riferimenti ad altri elementi, ad esempio un ID del lakehouse, e altro ancora.
  • Riutilizza le variabili tra i carichi di lavoro e gli oggetti Fabric. Ad esempio, diversi elementi nello spazio di lavoro possono riferirsi alla stessa variabile.
  • Regolare i valori in base alla fase della pipeline di rilascio in CI/CD.

Controllo del sorgente e automazione CI

L'integrazione Fabric Git collega uno spazio di lavoro a un repository Git sia su GitHub che su Azure DevOps. La tua automazione di integrazione continua, come la convalida di una pull request o l'aggiornamento di un workspace di integrazione da Git, funziona in qualsiasi runner CI/CD: GitHub Actions, Azure Pipelines o un runner self-hosted. Il supporto del principale servizio permette a questi flussi automatizzati di autenticarsi senza un utente connesso, tramite il provider Azure DevOps.

Strumenti per sviluppatori e infrastruttura come codice

Gli sviluppatori guidano la piattaforma attraverso strumenti scriptabili che si basano sulle API Fabric REST.

Fabric CLI

La Fabric CLI (fab) è uno strumento a riga di comando open-source e scriptabile con un'interfaccia simile a un file system su Fabric. Funziona bene in GitHub Actions e Azure DevOps per automatizzare la sincronizzazione, il deployment e la gestione degli oggetti Git.

Terraform e fabric-cicd

Per l'infrastruttura come codice, usa il provider Terraform per Microsoft Fabric per fornire ambienti Fabric come spazi di lavoro e capacità. Usa fabric-cicd, una libreria Python, per distribuire le definizioni degli elementi da un repository controllato dal sorgente. Fabric-CICD è lo strumento di distribuzione più ampiamente adottato per Fabric CI/CD.