Introdução à integração do Git
Este artigo o orienta nas seguintes tarefas básicas da ferramenta de integração do Git do Microsoft Fabric:
É recomendável ler a visão geral da integração do Git antes de começar.
Pré-requisitos
Para integrar o Git ao seu espaço de trabalho do Microsoft Fabric, você precisará configurar os pré-requisitos a seguir no Fabric e no Git.
Pré-requisitos do Fabric
Para acessar o recurso de integração do Git, você precisa de uma capacidade de Fabric. É exigida uma capacidade do Fabric para usar todos os itens do Fabric com suporte. Caso não tenha uma ainda, inscreva-se para uma avaliação gratuita. Clientes que já têm uma capacidade do Power BI Premium podem usá-la, mas saiba que determinadas SKUs do Power BI dão suporte apenas itens do Power BI.
Além disso, as seguintes alternâncias de locatário devem ser habilitadas no portal de administração:
- Usuários podem criar itens do Fabric
- Os usuários podem sincronizar itens do espaço de trabalho com seus repositórios do Git
- Apenas para usuários do GitHub: eles podem sincronizar itens do espaço de trabalho com seus repositórios do GitHub
Essas opções podem ser habilitadas pelo administrador de locatários, pelo administrador de capacidade ou pelo administrador do espaço de trabalho, dependendo das configurações da organização.
Pré-requisitos do Git
Atualmente, a integração do Git é compatível com o Azure DevOps e o GitHub. Para usar a integração do Git com seu espaço de trabalho do Fabric, você precisa do seguinte no Azure DevOps ou no GitHub:
- Uma conta ativa do Azure registrada para o mesmo usuário que está utilizando o espaço de trabalho do Fabric. Criar uma conta gratuita.
- Acesso a um repositório existente.
Conectar o espaço de trabalho ao repositório do Git
Conectar-se a um repositório Git
Somente um administrador do espaço de trabalho pode conectar um espaço de trabalho a um repositório, mas uma vez conectado, qualquer pessoa com permissão pode trabalhar no espaço de trabalho. Se você não for um administrador, peça ajuda ao seu administrador para fazer a conexão. Para conectar um espaço de trabalho a um repositório do Azure ou do GitHub, siga estas etapas:
Entre no Fabric e navegue até o espaço de trabalho com o qual deseja se conectar.
Vá para Configurações do espaço de trabalho
Selecionar Integração do Git.
Selecione seu provedor Git. Atualmente, o Azure DevOps e o GitHub são compatíveis.
Se você selecionar Azure DevOps, selecione Conectar para automaticamente entrar na conta do Azure Repos registrada do usuário do Microsoft Entra que entrou no Fabric.
Conectar-se a um espaço de trabalho
Se o espaço de trabalho já estiver conectado ao GitHub, siga as instruções para Conectar-se a um espaço de trabalho compartilhado.
No menu suspenso, especifique os seguintes detalhes sobre a filial à qual você quer se conectar:
- Organização
- Project
- Repositório do Git.
- Branch(Selecione uma ramificação existente usando o menu suspenso ou selecione + Novo Branch para criar uma nova ramificação. Você só pode se conectar a um branch por vez.)
- Pasta (Digite o nome de uma pasta existente ou insira um nome para criar uma nova pasta. Se você deixar o nome da pasta em branco, o conteúdo será criado na pasta raiz. Você só pode se conectar a uma pasta de cada vez.)
Selecione Conectar e sincronizar.
Durante a sincronização inicial, se o espaço de trabalho ou a GIT branch estiver vazia, o conteúdo será copiado do local não vazio para o vazio. Se tanto o espaço de trabalho quanto a GIT branch tiverem conteúdo, você será questionado sobre qual direção a sincronização deve seguir. Para obter mais informações sobre essa sincronização inicial, confira Conectar e Sincronizar.
Após a conexão, o Espaço de Trabalho exibirá informações sobre o controle do código-fonte que permitem ao usuário visualizar a ramificação conectada, o status de cada item na ramificação e o tempo da última sincronização.
Para manter seu espaço de trabalho sincronizado com a GIT branch, confirme todas as alterações que fizer no espaço de trabalho para a GIT branch e atualize seu espaço de trabalho sempre que alguém criar novas confirmações na GIT branch.
Confirmar as alterações no Git
Depois de se conectar com êxito a uma pasta Git, edite seu espaço de trabalho como de costume. Todas as alterações que você salvar serão salvas somente no espaço de trabalho. Quando estiver pronto, você pode confirmar suas alterações na GIT branch ou pode desfazer as alterações e reverter para o status anterior.
Se algum item no workspace estiver em pastas, a estrutura de pastas será preservada no repositório Git quando você confirmar alterações. As pastas vazias são ignoradas.
Leia mais sobre commits.
Para confirmar suas alterações na ramificação do Git, siga estas etapas:
Vá para o espaço de trabalho.
Selecione o ícone Controle do código-fonte. Esse ícone mostra o número de alterações não confirmadas.
Selecione Alterações no painel Controle do código-fonte. Aparece uma lista com todos os itens que você alterou e um ícone indicando se o item é novo
, modificado
, conflito
ou excluído
.
Selecione os itens que deseja confirmar. Para selecionar todos os itens, marque a caixa superior.
Adicione um comentário na caixa. Se você não adicionar um comentário, uma mensagem padrão será adicionada automaticamente.
Selecione Confirmar.
Depois de fazer commit de todas as alterações, os itens com commit serão removidos da lista e o espaço de trabalho apontará para um novo commit com o qual foi sincronizado.
Depois que as confirmações são concluídas com êxito, o status dos itens selecionados muda de Não confirmado para Sincronizado.
Atualizar espaço de trabalho a partir do Git
Sempre que alguém confirma uma nova alteração na ramificação do Git conectada, uma notificação é exibida no espaço de trabalho relevante. Utilize o painel Controle do código-fonte para transferir as últimas alterações, mesclas ou reversões no espaço de trabalho e atualizar os itens ativos. As alterações nas pastas também são atualizadas. Leia mais sobre as atualizações.
Para atualizar um espaço de trabalho, siga estas etapas:
- Vá para o espaço de trabalho.
- Selecione o ícone Controle do código-fonte.
- Selecione Atualizações no painel Controle do código-fonte. É exibida uma lista com todos os itens alterados na ramificação desde a última atualização.
- Selecione Atualizar tudo.
Depois que ele é atualizado com êxito, a lista de itens é removida e o espaço de trabalho passa a apontar para o novo espaço de trabalho ao qual está sincronizado.
Depois que a atualização for concluída com êxito, o status dos itens será alterado para Sincronizado.
Desconectar um espaço de trabalho do Git
Apenas um administrador de espaço de trabalho pode desconectar um espaço de trabalho de um Repositório do Git. Se você não for um administrador, peça ajuda ao seu administrador para desconectar. Se você for um administrador e quiser desconectar seu repositório, siga estas etapas:
- Vá para Configurações do espaço de trabalho
- Selecione Integração do Git
- Selecione Desconectar o espaço de trabalho
- Selecione Desconectar novamente para confirmar.
Permissões
As ações que você pode executar em um espaço de trabalho dependem das permissões que você tem no espaço de trabalho e no repositório do Git. Para uma discussão mais detalhada sobre permissões, confira Permissões.
Considerações e limitações
Limitações gerais da integração do Git
- O método de autenticação no Fabric deve ser pelo menos tão forte quanto o método de autenticação do Git. Por exemplo, se o Git exigir autenticação multifator, o Fabric também precisará exigir autenticação multifator.
- No momento, não há suporte para os conjuntos de dados do Power BI conectados ao Analysis Services.
- Espaços de trabalho com aplicativos de modelo instalados não podem ser conectados ao Git.
- Não há suporte para submódulos.
- Não há suporte para nuvens soberanas.
- A conta do Azure DevOps deve ser registrada para o mesmo usuário que está utilizando o workspace do Fabric.
- Não há suporte para o Azure DevOps caso a opção Habilitar validação da política de acesso condicional de IP esteja habilitada.
- O administrador de locatários deverá habilitar exportações entre áreas geográficas se o espaço de trabalho e o repositório do Git estiverem em duas regiões geográficas diferentes.
- Se a sua organização configurou o acesso condicional, garanta que o serviço do Power BI tenha as mesmas condições definidas para que a autenticação funcione conforme o esperado.
- O tamanho do commit é limitado a 125 MB.
Limitações do GitHub Enterprise
Algumas configurações do GitHub Enterprise não são compatíveis. Por exemplo:
- Lista de IPs permitidos
- Rede privada
- Domínios personalizados
Limitações do workspace
- Somente o administrador do espaço de trabalho pode gerenciar as conexões com o repositório do Git, como conectar, desconectar ou adicionar uma ramificação.
Uma vez conectado, qualquer pessoa com permissão pode trabalhar no espaço de trabalho.
Limitações de branch e pasta
- O nome do branch pode ter, no máximo, 244 caracteres.
- O caminho completo de nomes de arquivo pode ter no máximo 250 caracteres. Nomes mais longos geram falhas.
- O arquivo pode ter no máximo 25 MB.
- A estrutura de pastas é mantida com até 10 níveis de profundidade.
- Você não pode baixar um relatório/conjunto de dados como .pbix do serviço depois de implantá-los com a integração com o Git.
- Se o nome de exibição do item tiver qualquer uma dessas características, a pasta Git será renomeada para a ID lógica (Guid) e digite:
- Tem mais de 256 caracteres
- Termina com um . ou um espaço
- Contém todos os caracteres proibidos, conforme descrito em limitações de nome de diretório
- Ao conectar um workspace que tenha pastas ao Git, você precisará confirmar alterações no repositório Git se essa estrutura de pastas for diferente.
Limitações de nome de diretório
O nome do diretório que se conecta ao repositório Git tem as seguintes restrições de nomenclatura:
- O nome do diretório não pode começar nem terminar com um espaço ou um tab.
- O nome do diretório não pode conter nenhum dos seguintes caracteres: "/:<>\*?|
A pasta do item (a pasta que contém os arquivos de item) não pode conter nenhum dos seguintes caracteres: ":<>\*?|. Se você renomear a pasta para algo que inclua um desses caracteres, o Git não poderá se conectar ou sincronizar com o workspace e ocorrerá um erro.
Limitações de branch
- A ramificação requer permissões listadas na tabela de permissões.
- É necessário haver uma capacidade disponível para essa ação.
- Todas as limitações de nomenclatura de workspace e de branch se aplicam ao fazer o branch para um novo workspace.
- Somente os itens com suporte do Git estão disponíveis no novo espaço de trabalho.
- A lista de branches relacionados mostra apenas branches e espaços de trabalho que você tem permissão para exibir.
- A integração do Git deve estar habilitada.
- Ao ramificar para fora, um novo branch é criado e as configurações do branch original não são copiadas. Ajuste as configurações ou definições para garantir que o novo atenda às políticas da sua organização.
- Ao fazer o branch para um workspace existente:
- O workspace de destino deve dar suporte a uma conexão Git.
- O usuário deve ser um administrador do workspace de destino.
- O espaço de trabalho de destino deve ter capacidade suficiente.
- O espaço de trabalho não pode ter aplicativos de modelo.
- Observe que quando você faz o branch para um workspace, todos os itens que não são salvos no Git podem se perder. Recomendamos que você faça o commit todos os itens que deseja manter antes de fazer o branch.
Limitações da sincronização e do commit
- Você só pode sincronizar em uma direção por vez. Você não pode confirmar e atualizar ao mesmo tempo.
- Não há suporte para rótulos de confidencialidade e a exportação de itens com rótulos de confidencialidade pode estar desabilitada. Para confirmar itens que têm rótulos de confidencialidade sem o rótulo de confidencialidade, peça ajuda ao administrador.
- Funciona com um número limitado de itens. Itens não compatíveis na pasta serão ignorados.
- Nomes duplicados não são permitidos. Mesmo se o Power BI permitir a duplicação de nomes, a ação de atualizar, confirmar ou desfazer falhará.
- Não há suporte para B2B.
- A resolução de conflitos é realizada parcialmente no Git.
- Durante o processo de Confirmar para o Git, o serviço do Fabric exclui todos os arquivos dentro da pasta do item que não fazem parte da definição do item. Arquivos não relacionados que não estejam em uma pasta de item não serão excluídos.
- Após confirmar as alterações, você poderá notar algumas mudanças inesperadas no item que não foram feitas por você. Essas alterações são semanticamente insignificantes e podem ocorrer por vários motivos. Por exemplo:
- Alteração manual do arquivo de definição do item. Essas alterações são válidas, mas podem ser diferentes daquelas feitas por meio dos editores. Por exemplo, se você renomear uma coluna do modelo semântico no Git e importar essa alteração para o espaço de trabalho, na próxima vez que confirmar as alterações no modelo semântico, o arquivo bim será registrado como alterado e a coluna modificada será enviada para o final da matriz
columns
. Isso ocorre porque o mecanismo AS que gera os arquivos bim envia as colunas renomeadas para o final da matriz. Essa alteração não afeta a forma como o item funciona. - Confirmações de um arquivo que utiliza as quebras de linha CRLF. O serviço usa as quebras de linha LF (alimentação de linha). Se você tiver arquivos de itens no repositório Git com quebras de linha CRLF, quando você fizer commit por meio do serviço, esses arquivos serão alterados para LF. Por exemplo, se você abrir um relatório na área de trabalho, salve o arquivo de projeto (.pbip) e carregue-o no Git usando CRLF.
- Alteração manual do arquivo de definição do item. Essas alterações são válidas, mas podem ser diferentes daquelas feitas por meio dos editores. Por exemplo, se você renomear uma coluna do modelo semântico no Git e importar essa alteração para o espaço de trabalho, na próxima vez que confirmar as alterações no modelo semântico, o arquivo bim será registrado como alterado e a coluna modificada será enviada para o final da matriz
- Atualizar um modelo semântico usando a Enhanced refresh API causa um Git diff após cada atualização.