Czym jest CI/CD w Microsoft Fabric?

Ciągła integracja i ciągłe dostarczanie (CI/CD) w Microsoft Fabric dają zespołom deweloperskim ustandaryzowany sposób budowania, przeglądania i wydawania treści z szybkością i niezawodnością. Zamiast ręcznych aktualizacji zespoły często integrują zmiany za pomocą systemu kontroli wersji i wdrażają je przez zautomatyzowane potoki wdrożeniowe, dzięki czemu nowe funkcje i poprawki błędów szybko i bezpiecznie trafiają na środowisko produkcyjne.

Platforma Fabric CI/CD została zbudowana na interfejsach Fabric REST API i łączy kontrolę wersji, dostarczanie, konfigurację oraz narzędzia deweloperskie w jedno, zintegrowane doświadczenie. W pozostałej części artykułu omówiono platformę warstwa po warstwie.

Platforma Fabric CI/CD w skrócie

Platforma Fabric CI/CD obejmuje kilka kluczowych funkcji, wszystkie zbudowane na bazie API Fabric REST:

  • Integracja z Gitem – Synchronizacja przestrzeni roboczej z repozytorium Git w Azure DevOps lub GitHub, z obsługą service principal.
  • Potoki wdrożeniowe – promuj treści na etapach deweloperskich, testowych i produkcyjnych za pomocą reguł konfiguracji i porównania treści.
  • Fabric REST API – Warstwa podstawowa dla CRUD elementów, definicji elementów, pojemności, przestrzeni roboczej, dostępu i operacji zadań.
  • Biblioteka zmiennych - Konfiguracja jako kod, z zestawami wartości dla poszczególnych etapów CI/CD, zarządzana za pośrednictwem interfejsu API lub UI.
  • Fabric CLI – otwartoźródłowe, skryptowalne, przypominające system plików narzędzie wiersza poleceń, gotowe do obsługi GitHub Actions i Azure DevOps.
  • Terraform i fabric-cicd – Infrastruktura jako kod dla środowisk, gdzie fabric-cicd jest najczęściej wykorzystywanym narzędziem wdrożeniowym.

Schemat komponentów platformy Fabric CI/CD: integracja z Gitem, potoki wdrożeniowe, API Fabric REST, biblioteka zmiennych, Fabric CLI oraz Terraform z fabric-cicd.

Architektura odwołań

Poniższa architektura odniesień przedsiębiorstwa pokazuje, jak te warstwy do siebie pasują. Narzędzia deweloperskie opierają się na bazowej warstwie interfejsu API REST platformy Fabric. Zawartość przepływa przez warstwę integracji i dostarczania Fabric wraz z biblioteką Variable, integracją z Gitem oraz pipeline'ami wdrożeniowymi. Kontrola wersji i automatyzacja CI odbywają się w GitHub lub Azure DevOps z wykorzystaniem programu uruchamiającego CI/CD. Pomocnicze zasoby dzierżawy Azure i Fabric obejmują pojemności Dev, Test i Prod, usługę Azure Key Vault, sieć prywatną, ustawienia dzierżawy, połączenia, domeny oraz nadrzędne i podrzędne obszary robocze utworzone w procesie rozgałęzienia.

Diagram referencyjnej architektury przedsiębiorstwa przedstawiający narzędzia kontroli deweloperskiej nad warstwą podstawową interfejsu API REST platformy Fabric, warstwę integracji i dostarczania platformy Fabric z biblioteką zmiennych, integracją z systemem Git i potokami wdrożeniowymi, kontrolę wersji i automatyzację CI z użyciem GitHub, Azure DevOps oraz modułu uruchomieniowego CI/CD, a także plan zasobów dzierżawy Azure i Fabric z pojemnościami Dev, Test i Prod, usługą Azure Key Vault, siecią prywatną oraz nadrzędnymi obszarami roboczymi i obszarami roboczymi gałęzi.

Podstawy interfejsów API REST platformy Fabric

Wszystkie możliwości CI/CD Fabric opierają się na interfejsach Fabric REST, które zapewniają programowy dostęp do kluczowych operacji: tworzenie, odczyt, aktualizacja i usuwanie elementów, definicje elementów, zarządzanie pojemnością, przestrzenią roboczą i dostępem oraz harmonogramowanie zadań. Każde doświadczenie na wyższym poziomie, od integracji z Gitem po pipeline'y wdrożeniowe, korzysta z tych API, więc wszystko, co robisz w portalu, możesz również zautomatyzować.

Integracja i wdrażanie platformy Fabric

Ta warstwa niezawodnie przenosi zawartość z rozwoju do produkcji dzięki trzem komplementarnym możliwościom.

Uwaga

Niektóre elementy CI/CD są dostępne w wersji zapoznawczej. Zobacz listę obsługiwanych elementów dla funkcji integracji z Git i potoku wdrażania.

Integracja z usługą Git

Schemat blokowy przedstawiający połączenie między zdalną gałęzią Git a aktywną przestrzenią roboczą.

Dzięki integracji z Gitem w Fabric, wielu programistów może często i niezawodnie wprowadzać stopniowe aktualizacje przestrzeni roboczej. Stosując zalety i najlepsze praktyki Gita, deweloperzy współpracują i zapewniają, że zmiany w treści trafiają do workspace szybko i niezawodnie. Gdy treść jest gotowa, proces dostarczania może następnie przekazać ją do potoków wdrożeniowych w celu testowania i dystrybucji.

Ścieżki wdrażania

Ilustracja przedstawiająca przepływ danych w potoku wdrożeniowym od danych do aplikacji.

Potoki wdrożeniowe Fabric automatyzują dostarczanie zmodyfikowanych treści do środowisk takich jak testowanie i produkcja. Zespoły produkują aktualizacje w krótkich cyklach, z dużą szybkością, częstotliwością i niezawodnością. Możesz wypuścić zawartość w dowolnym momencie dzięki prostemu, powtarzalnemu procesowi wdrożenia.

Aby najbardziej efektywnie korzystać z CI/CD w usłudze Fabric, połącz deweloperski obszar roboczy z usługą Git, a następnie wdrażaj z połączonego obszaru roboczego za pomocą potoków wdrażania.

Biblioteka zmiennych

Korzystając z bibliotek zmiennych, możesz:

  • Definiuj i zarządzaj zmiennymi zdefiniowanymi przez użytkownika w sposób jednolity dla wszystkich elementów przestrzeni roboczej.
  • Używaj zmiennych w różnych miejscach produktu: w definicjach przedmiotów, takich jak zapytania, jako odniesienia do innych elementów, takich jak identyfikator domku nad jeziorem, i inne.
  • Ponownie wykorzystuj zmienne w zależności od obciążeń i elementów Fabric. Na przykład kilka elementów w przestrzeni roboczej może odnosić się do tej samej zmiennej.
  • Dostosuj wartości na podstawie etapu potoku wydania dla CI/CD.

Kontrola źródeł i automatyzacja CI

Integracja Fabric Git łączy przestrzeń roboczą z repozytorium Git w GitHub lub Azure DevOps. Automatyzacja ciągłej integracji, taka jak walidacja pull requestu lub aktualizacja obszaru roboczego integracji na podstawie danych z Git, działa w dowolnym runnerze CI/CD: GitHub Actions, Azure Pipelines lub runnerze hostowanym samodzielnie. Wsparcie dla Service principal pozwala tym automatycznym przepływom uwierzytelniać się bez zalogowanego użytkownika, z usługodawcą Azure DevOps.

Narzędzia deweloperskie i infrastruktura jako kod

Deweloperzy napędzają platformę za pomocą skryptowalnych narzędzi, które bazują na interfejsach Fabric REST.

interfejs wiersza polecenia Fabric

Fabric CLI (fab) to otwartoźródłowe, skryptowalne narzędzie wiersza poleceń z interfejsem przypominającym system plików w Fabric. Działa dobrze w GitHub Actions i Azure DevOps, automatyzując synchronizację Git, wdrażanie i zarządzanie elementami.

Terraformacja i tkanina-cicd

Do definiowania infrastruktury jako kodu użyj dostawcy Terraform dla usługi Microsoft Fabric, aby tworzyć środowiska Fabric, takie jak obszary robocze i pojemności. Użyj fabric-cicd, biblioteki Python, aby wdrażać definicje elementów z repozytorium kontrolowanego przez źródła. fabric-cicd jest najszerzej stosowanym narzędziem wdrożeniowym Fabric CI/CD.