CI/CD för pipelines i Data Factory i Microsoft Fabric
I Fabric Data Factory automatiserar kontinuerlig integrering och kontinuerlig utveckling (CI/CD) integrering, testning och distribution av kodändringar för att säkerställa en effektiv och tillförlitlig utveckling.
I Infrastruktur finns det två funktioner som vi för närvarande stöder i samarbete med ALM-teamet (Application Lifecycle Management): Git-integrering och distributionspipelines. Med de här funktionerna kan användare importera/exportera arbetsyteresurser med enskilda uppdateringar.
Fabric Data Factory CI/CD-lösningen avviker från Azure Data Factory-modellen där hela fabriksuppdateringar med hjälp av exportmetoden för ARM-mallar föredras. Med den här metodändringen kan kunderna selektivt välja vilka pipelines som ska uppdateras utan att pausa hela fabriken. Både Git-integrering (bring-your-own Git) och distributionspipelines (inbyggda CI/CD) använder begreppet associerad en enda arbetsyta med en enda miljö. Du måste mappa ut olika arbetsytor till olika miljöer, till exempel utveckling, testning och produktion.
Därför använder utvecklare CI/CD
CI/CD är en metod som automatiserar programvaruleveransen och löser några framträdande smärtpunkter:
- Manuella integreringsproblem: utan CI/CD kan integrering av kodändringar manuellt leda till konflikter och fel, vilket gör utvecklingen långsammare.
- Utvecklingsfördröjningar: manuella distributioner är tidskrävande och kan orsaka fel, vilket leder till fördröjningar i leveransen av nya funktioner och uppdateringar.
- Inkonsekventa miljöer: olika miljöer (utveckling, testning och produktion) kan ha inkonsekvenser, vilket orsakar problem som är svåra att felsöka.
- Brist på synlighet: utan CI/CD kan det vara svårt att spåra ändringar och förstå tillståndet för kodbasen.
Förstå CI/CD-, Git- och distributionspipelines
CI/CD består av kontinuerlig integrering och kontinuerlig distribution.
Kontinuerlig integrering (CI)
Utvecklare checkar ofta in på en Git-hanterad huvudgren, vilket utlöser automatiserade tester och byggen för integrering. Git spårar ändringar för att aktivera automatisk hämtning och testning av nya incheckningar.
Kontinuerlig distribution (CD)
Fokuserar på att distribuera verifierade ändringar i produktionsutvecklingen via strukturerade distributionssteg i distributionspipelines.
Git-integrering med Data Factory-pipelines
Git är ett versionskontrollsystem som gör det möjligt för utvecklare att spåra ändringar i sin kodbas (eller JSON-koddefinitioner, när det gäller pipelines) och samarbeta med andra. Den tillhandahåller en centraliserad lagringsplats där kodändringar lagras och hanteras. För närvarande stöds Git i Fabric via GitHub eller Azure DevOps. Det finns några viktiga grundläggande arbetsflöden att förstå när du arbetar med Git.
- Huvudgren: Huvudgrenen, som ibland heter huvudgrenen, innehåller produktionsklar kod.
- Funktionsgrenar: Dessa grenar är separata från huvudgrenen och möjliggör isolerad utveckling utan att ändra huvudgrenen.
- Pull-begäranden (PR:er): Med pr-begäranden kan användarna föreslå, granska och diskutera ändringar före integreringen.
- Sammanslagning: Detta inträffar när ändringar godkänns. Git integrerar dessa ändringar och uppdaterar projektet kontinuerligt.
Distributionspipelines för Git
Distributionspipelines är nära integrerade med Git. När en utvecklare push-överför kodändringar till Git-lagringsplatsen utlöses CI/CD-pipelinen. Den här integreringen säkerställer att de senaste kodändringarna alltid testas och distribueras automatiskt.
Faser och jobb
Distributionspipelines består av flera steg och jobb i varje steg. Dessa steg är vanligtvis uppdelade i tre miljöer: utveckling (kompilering av kod), testning (köra tester) och produktion (distribuera programmet). Pipelinen fortsätter genom dessa steg, vilket säkerställer att koden testas noggrant och distribueras på ett kontrollerat sätt.
Automatiserade arbetsflöden
Distributionspipelines automatiserar hela processen med att skapa, testa och distribuera kod. Den här automatiseringen minskar risken för mänskliga fel, påskyndar utvecklingsprocessen och säkerställer att kodändringarna levereras konsekvent och tillförlitligt till produktion.
Kom igång med Git-integrering för Data Factory-pipelines
Utför följande steg för att konfigurera Git-integrering för dina pipelines i Data Factory:
Förutsättningar för Git-integrering
Om du vill komma åt Git med din Microsoft Fabric-arbetsyta måste du se till att du har följande förutsättningar för både Fabric och Git.
- Antingen en Power BI Premium-licens eller infrastrukturresurser.
- Aktiverade följande klientväxlar från administratörsportalen:
- Antingen ett Azure DevOps- eller GitHub-konto.
- För ett Azure DevOps-konto:
- Ett aktivt Azure-konto som har registrerats för samma användare som använder arbetsytan Infrastruktur. Skapa ett kostnadsfritt konto.
- Åtkomst till en befintlig lagringsplats
- För ett GitHub-konto:
- Ett aktivt GitHub-konto. Skapa ett kostnadsfritt konto.
- Antingen en detaljerad token med läs - och skrivbehörighet för Innehåll, under lagringsplatsbehörigheter eller en klassisk GitHub-token med repoomfång aktiverat.
- För ett Azure DevOps-konto:
Steg 1: Anslut till en Git-lagringsplats
Om du vill använda Git-integrering med Data Factory-pipelines i Fabric måste du först ansluta till en Git-lagringsplats enligt beskrivningen här.
Logga in på Infrastrukturresurser och navigera till den arbetsyta som du vill ansluta till Git.
Välj Inställningar för arbetsyta.
Välj Git-integrering.
Välj din Git-provider. För närvarande stöder Fabric endast Azure DevOps eller GitHub. Om du använder GitHub måste du välja Lägg till konto för att ansluta ditt GitHub-konto. När du har loggat in väljer du Anslut för att tillåta Fabric att komma åt ditt GitHub-konto.
Steg 2: Ansluta till en arbetsyta
När du ansluter till en Git-lagringsplats måste du ansluta till en arbetsyta enligt beskrivningen här.
I den nedrullningsbara menyn anger du följande information om den gren som du vill ansluta till:
För Azure DevOps-grenanslutningar anger du följande information:
- Organisation: Namnet på Azure DevOps-organisationen.
- Projekt: Namnet på Azure DevOps-projektet.
- Lagringsplats: Namnet på Azure DevOps-lagringsplatsen.
- Gren: Azure DevOps-grenens namn.
- Mapp: Azure DevOps-mappnamnet.
För GitHub-grenanslutningar anger du följande information:
- Lagringsplats-URL: Url:en för GitHub-lagringsplatsen.
- Gren: GitHub-grennamnet.
- Mapp: GitHub-mappnamnet.
Välj Anslut och synkronisera.
När du har anslutit visar arbetsytan information om källkontroll som gör att användarna kan visa den anslutna grenen, status för varje objekt i grenen och tidpunkten för den senaste synkroniseringen.
Steg 3: Checka in ändringar i Git
När du har anslutit till en Git-lagringsplats och arbetsyta kan du checka in ändringar i Git enligt beskrivningen här.
Gå till arbetsytan.
Välj ikonen Källkontroll. Den här ikonen visar antalet icke-bakåtkompatibla ändringar.
Välj fliken Ändringar på kontrollpanelen Källa. En lista visas med alla objekt som du har ändrat och en ikon som anger status:
Ny, Ändrad
, Konflikt
eller Borttagen .
Välj de objekt som du vill checka in. Markera den översta kryssrutan om du vill markera alla objekt.
(Valfritt) Lägg till en incheckningskommentare i rutan.
Välj Checka in.
När ändringarna har checkats in tas de objekt som har checkats in bort från listan och arbetsytan pekar på den nya incheckning som den synkroniserade till.
Steg 4: (Valfritt) Uppdatera arbetsytan från Git
Gå till arbetsytan.
Välj ikonen Källkontroll.
Välj Uppdateringar på kontrollpanelen Källa. En lista visas med alla objekt som har ändrats i grenen från git-anslutningskällan sedan den senaste uppdateringen.
Välj Uppdatera alla.
När den har uppdaterats tas listan över objekt bort och arbetsytan pekar på den nya incheckning som den synkroniseras till.
Kom igång med distributionspipelines för Git
Utför följande steg för att använda Git-distributionspipelines med din Infrastruktur-arbetsyta.
Krav för distributionspipelines
Innan du kommer igång måste du konfigurera följande krav:
- En aktiv Microsoft Fabric-prenumeration.
- Administratörsåtkomst för en infrastrukturresursarbetsyta.
Steg 1: Skapa en distributionspipeline
I den utfällbara menyn Arbetsytor väljer du Distributionspipelines.
Välj Skapa pipeline eller + Ny pipeline.
Steg 2: Namnge pipelinen och tilldela faser
I dialogrutan Skapa distributionspipeline anger du ett namn och en beskrivning för pipelinen och väljer Nästa.
Ange distributionspipelinens struktur genom att definiera de steg som krävs för distributionspipelinen. Pipelinen har som standard tre steg: Utveckling, Test och Produktion.
Du kan lägga till ytterligare en fas, ta bort faser eller byta namn på dem genom att skriva ett nytt namn i rutan. Välj Skapa (eller Skapa och fortsätt) när du är klar.
Steg 3: Tilldela en arbetsyta till distributionspipelinen
När du har skapat en pipeline måste du lägga till innehåll som du vill hantera i pipelinen. Du lägger till innehåll i pipelinen genom att tilldela en arbetsyta till pipelinesteget. Du kan tilldela en arbetsyta till valfri fas. Följ anvisningarna för att tilldela en arbetsyta till en pipeline.
Steg 4: Distribuera till en tom fas
När du har slutfört arbetet med innehåll i en pipelinefas kan du distribuera det till nästa steg. Distributionspipelines erbjuder tre alternativ för att distribuera ditt innehåll:
- Fullständig distribution: Distribuera allt innehåll till målfasen.
- Selektiv distribution: Välj vilket innehåll som ska distribueras till målfasen.
- Bakåtdistribution: Distribuera innehåll från ett senare stadium till ett tidigare steg i pipelinen. För närvarande är bakåtdistribution endast möjligt när målsteget är tomt (ingen arbetsyta har tilldelats den).
När du har valt hur du ska distribuera ditt innehåll kan du granska distributionen och lämna en kommentar.
Steg 5: Distribuera innehåll från en fas till en annan
- När du har innehåll i en pipelinefas kan du distribuera det till nästa steg, även om arbetsytan i nästa steg har innehåll. Kopplade objekt skrivs över. Du kan läsa mer om den här processen i avsnittet Distribuera innehåll till en befintlig arbetsyta .
- Du kan granska distributionshistoriken för att se senaste gången innehållet distribuerades till varje fas. Information om hur du undersöker skillnaderna mellan de två pipelinerna innan du distribuerar finns i Jämför innehåll i olika distributionsfaser.
Kända begränsningar
Följande kända begränsningar gäller för CI/CD för pipelines i Data Factory i Microsoft Fabric:
- Arbetsytevariabler: CI/CD stöder för närvarande inte arbetsytevariabler.
- Begränsat stöd för Git-integrering: För närvarande stöder Fabric endast Git-integrering med Azure DevOps och GitHub. Azure DevOps Git-integrering rekommenderas eftersom GitHub Git-integrering har fler begränsningar.
- Pipelineaktiviteter med OAuth-anslutningsappar: För MS Teams- och Outlook-anslutningsappar måste användarna manuellt öppna varje pipeline och logga in på varje aktivitet, vilket är en begränsning för närvarande när de distribueras till en högre miljö.
- Pipelines som anropar dataflöden: När en pipeline som anropar ett dataflöde befordras refererar den fortfarande till dataflödet i den tidigare arbetsytan, vilket är felaktigt. Det här beteendet beror på att dataflöden för närvarande inte stöds i distributionspipelines.
Relaterat innehåll
- Introduktion till CI/CD-processen som en del av ALM-cykeln i Microsoft Fabric
- Kom igång med Git-integrering, verktyget Hantering av livscykel för infrastrukturprogram (ALM)
- Kom igång med hjälp av distributionspipelines, verktyget Hantering av livscykel för infrastrukturprogram (ALM)
- Blogg: Utforska CI/CD-funktioner i Microsoft Fabric: Fokus på pipelines