O que é CI/CD no Microsoft Fabric?

A integração contínua e a entrega contínua (CI/CD) no Microsoft Fabric oferecem às equipes de desenvolvimento uma forma padronizada de construir, revisar e lançar conteúdo de forma rápida e confiável. Em vez de usar atualizações manuais, as equipes frequentemente integram as mudanças por meio do controle de versões e as entregam por meio de pipelines automatizados. Essa abordagem garante que novos recursos e correções de bugs cheguem à produção de forma rápida e segura.

A plataforma Fabric CI/CD é construída sobre as APIs Fabric REST e reúne controle de versão, entrega, configuração e ferramentas de desenvolvimento em uma única experiência integrada. O restante deste artigo percorre a plataforma camada por camada.

A plataforma Fabric CI/CD em resumo

A plataforma Fabric CI/CD abrange várias capacidades principais, todas construídas sobre a base da API Fabric REST:

  • Integração com Git - Sincronize um espaço de trabalho com um repositório Git no Azure DevOps ou GitHub, com suporte a entidade de serviço.
  • Pipelines de implantação - Promover conteúdo entre as etapas de Desenvolvimento, Teste e Produção com regras de configuração e comparação de conteúdo.
  • APIs Fabric REST - A camada base para CRUD de itens, definições de itens, capacidade, espaço de trabalho, acesso e operações de trabalho.
  • Biblioteca de variáveis - Configuração como código, com conjuntos de valores por estágio para CI/CD, gerenciada pela API ou pela interface.
  • Plano de implantação - Controle a ordem em que os itens são lançados e execute ações antes e depois de serem implantados.
  • Fabric CLI - Uma ferramenta de linha de comando open-source, scriptável, semelhante a um sistema de arquivos, pronta para GitHub Actions e Azure DevOps.
  • Terraform e fabric-cicd - Infraestrutura como código para ambientes, onde o fabric-cicd é a ferramenta de implantação mais amplamente adotada.

Diagrama dos componentes da plataforma Fabric CI/CD: integração com Git, pipelines de implantação, APIs REST do Fabric, biblioteca de variáveis, CLI do Fabric e Terraform com fabric-cicd.

Arquitetura de referência

A arquitetura de referência empresarial a seguir mostra como essas camadas se encaixam. As ferramentas de desenvolvedor se baseiam na camada de base da API REST do Fabric. O conteúdo passa pela camada de integração e entrega do Fabric com a biblioteca de variáveis, a integração com Git e os pipelines de implantação. Controle de versão e automação de CI rodam no GitHub ou Azure DevOps com um runner de CI/CD. Os recursos de suporte do locatário do Azure e do Fabric incluem capacidades de Dev, Test e Prod, o Azure Key Vault, uma rede privada, configurações do locatário, conexões, domínios e os espaços de trabalho pai e de ramificação criados por meio de branch-out.

Diagrama da arquitetura de referência empresarial mostrando ferramentas de controle para desenvolvedores sobre a camada de base da API REST do Fabric, a camada de integração e entrega do Fabric com biblioteca de variáveis, integração com Git e pipelines de implantação, controle de código-fonte e automação de CI com GitHub, Azure DevOps e um runner de CI/CD, e o plano de recursos do locatário do Azure e do Fabric com capacidades de Dev, Test e Prod, Azure Key Vault, uma rede privada e espaços de trabalho pai e de ramificação.

APIs REST do Fabric: o alicerce

Todas as capacidades do Fabric CI/CD são baseadas nas APIs REST do Fabric, que fornecem acesso programático às operações principais: criação, leitura, atualização e exclusão de itens, definições de itens, capacidade, gerenciamento de espaço de trabalho e acesso, e escalonamento de trabalhos. Toda experiência de mais alto nível, desde a integração com o Git até os pipelines de implantação, usa essas APIs, portanto tudo o que você faz no portal também pode ser automatizado.

Integração e entrega de Fabric

Essa camada move o conteúdo de forma confiável do desenvolvimento para a produção por meio de quatro capacidades complementares.

Observação

Alguns itens para CI/CD estão em versão prévia. Veja a lista de itens suportados para as funcionalidades de integração e pipeline de implantação do Git.

Integração do Git

Fluxograma mostrando a ligação entre o ramo remoto do Git e o espaço de trabalho ativo.

Ao usar a integração do Git do Fabric, múltiplos desenvolvedores podem frequentemente e de forma confiável fazer atualizações incrementais do workspace. Ao aplicar as vantagens e melhores práticas do Git, os desenvolvedores colaboram e garantem que as mudanças de conteúdo cheguem ao ambiente de trabalho de forma rápida e confiável. Quando o conteúdo estiver pronto, o processo de entrega poderá então encaminhá-lo aos pipelines de implantação para testes e distribuição.

Pipelines de implantação

Ilustração mostrando o fluxo de dados em um pipeline de implantação de dados para aplicativo.

Os pipelines de implantação do Fabric automatizam a entrega de conteúdo modificado para ambientes como testes e produção. As equipes produzem atualizações em ciclos curtos, com alta velocidade, frequência e confiabilidade. Você pode liberar conteúdo a qualquer momento com um processo simples e repetível.

Para a experiência mais eficiente de CI/CD no Fabric, conecte seu espaço de trabalho de desenvolvedor ao Git e implante a partir desse espaço conectado usando pipelines de implantação.

Biblioteca de variáveis

Ao usar bibliotecas de variáveis, você pode:

  • Defina e gerencie variáveis definidas pelo usuário de forma unificada para todos os itens do workspace.
  • Use as variáveis em diferentes partes do produto: em definições de itens, como consultas; como referências a outros itens, como um ID de lakehouse; entre outros.
  • Reutilize variáveis entre cargas de trabalho e itens do Fabric. Por exemplo, vários itens no espaço de trabalho podem se referir à mesma variável.
  • Ajuste os valores com base no estágio do pipeline de lançamento para CI/CD.

Plano de implantação

Um plano de implantação controla a ordem em que os itens são implantados e executa ações antes e depois de serem implantados. Você elabora um plano na tela, salva-o como um item no espaço de trabalho e o anexa a uma implantação.

Diferente das outras capacidades dessa camada, um plano de implantação não é um mecanismo de entrega próprio. Ele está vinculado a uma implantação realizada pela integração com Git, pelos pipelines de implantação ou pelas APIs REST, e o mecanismo de implantação o utiliza para determinar a ordem e executar as ações definidas pelo plano. Use isso quando uma implantação precisar seguir uma ordem que, por si só, as dependências entre itens não expressam, ou quando for preciso executar tarefas relacionadas a eles, como atualizar um modelo semântico após a implantação de um warehouse.

Controle de código-fonte e automação de CI

A integração do Fabric Git conecta um espaço de trabalho a um repositório Git no GitHub ou no Azure DevOps. Sua automação de integração contínua, como validar um pull request ou atualizar um espaço de trabalho de integração a partir do Git, é executada em qualquer runner de CI/CD: GitHub Actions, Azure Pipelines ou um runner auto-hospedado. O suporte ao principal de serviço permite que esses fluxos automatizados sejam autenticados sem um usuário logado, com o provedor Azure DevOps.

Ferramentas para desenvolvedores e infraestrutura como código

Os desenvolvedores conduzem a plataforma por meio de ferramentas scriptáveis que se baseiam nas APIs REST do Fabric.

Interface de Linha de Comando do Fabric

A CLI do Fabric (fab) é uma ferramenta de linha de comando open-source, scriptável, com uma interface semelhante a um sistema de arquivos sobre Fabric. Funciona bem no GitHub Actions e no Azure DevOps para automatizar sincronização, implantação e gerenciamento de itens do Git.

Terraform e fabric-cicd

Para infraestrutura como código, use o provedor Terraform para Fabric para fornecer ambientes Fabric, como espaços de trabalho e capacidades. Use fabric-cicd, uma biblioteca Python, para implantar definições de itens a partir de um repositório controlado por código-fonte. Fabric-CICD é a ferramenta de implantação mais amplamente adotada para Fabric CI/CD.