Automatizar o ciclo de vida do conector

Concluído

Uma parte importante da implementação do ALM (gerenciamento do ciclo de vida do aplicativo) dos seus conectores personalizados é ter um processo repetível que permita modificar as definições dos conectores e registrar essas alterações em um sistema de controle do código-fonte. Embora as etapas para realizar essas tarefas possam ser executadas manualmente, é melhor ter um processo automatizado para garantir a consistência e a capacidade de repetição.

Para permitir a criação dessas automações, a Microsoft oferece tarefas de criação para Azure DevOps e ações para GitHub. Usando essas ferramentas, você pode criar automação de acordo com os seguintes princípios:

  • Os ambientes de desenvolvimento são descartáveis: seu ambiente de desenvolvimento deve ser um espaço de trabalho no qual você cria o conector personalizado. Você não deve confiar nele como a fonte da verdade. O controle do código-fonte deve ser usado para armazenar o código-fonte oficial mais recente. Você precisa recriar um novo ambiente de desenvolvimento a qualquer momento com base no controle do código-fonte.

  • O controle do código-fonte contém o código-fonte mais recente: quando você chega a uma versão funcional da sua solução de conector, o conteúdo deve ser verificado com base no controle do código-fonte. Você pode usar o Azure DevOps, o GitHub ou sua ferramenta de controle de código-fonte preferida. A rotulagem e a ramificação podem ser usadas conforme apropriado ao seu processo e às suas necessidades.

  • Implantar soluções gerenciadas: quando a solução que contém seu conector personalizado é instalada em ambientes que não são de desenvolvimento, você deve implantar uma solução gerenciada. A solução gerenciada deve ser criada com base no conteúdo do controle do código-fonte, e não diretamente do desenvolvimento. Essa abordagem garante que seu controle do código-fonte tenha sempre uma cópia do que está implantado em seus ambientes que não são de desenvolvimento.

Você pode usar as ferramentas do Microsoft Power Platform, junto com qualquer outra ação do GitHub ou tarefas do Azure DevOps, para compor os fluxos de trabalho de criação e build. As automações que as equipes normalmente implementam incluem provisionar os ambientes de desenvolvimento, exportar de um ambiente de desenvolvimento para o controle do código-fonte, gerar os builds e lançar as soluções. O diagrama a seguir ilustra exemplos de automações que podem ser considerados.

Você decide se vai usar ações do Azure DevOps ou do GitHub. As duas opções oferecem recursos semelhantes para automatizar os ciclos de vida das soluções Microsoft Power Platform.

Azure DevOps

O Azure DevOps usa pipelines de build e versão para implementar a automação. Geralmente, os pipelines são usados para criar e preparar artefatos e lançar a implantação para os ambientes de downstream. A criação de um pipeline do Microsoft Power Platform é feita visualmente adicionando tarefas de criação. A captura de tela a seguir é um exemplo de um pipeline que usa as tarefas de criação.

GitHub

O GitHub usa as ações do GitHub para criar fluxos de trabalho semelhantes. Para criar uma ação do GitHub, você precisa especificar as tarefas usando YAML. A captura de tela a seguir mostra um exemplo de fluxo de trabalho para exportar uma solução.

Tarefas comuns de criação

Seja com o Azure DevOps ou com o GitHub, a tabela a seguir explica algumas das tarefas comuns.

Tarefa Finalidade
Exportar solução A exportação é como você obtém uma cópia da sua solução em um formato de arquivo zip do seu ambiente de desenvolvimento. A exportação também pode ser usada para oferecer suporte a soluções gerenciadas prontas para instalação em ambientes que não são de desenvolvimento.
Importar solução A importação é o modo de instalação do arquivo zip de uma solução em um ambiente. Quando uma solução já existe em um ambiente, ela é tratada como uma atualização da solução existente.
Descompactar solução A tarefa de descompactar a solução divide o arquivo zip em arquivos individuais apropriados ao armazenamento no controle do código-fonte.
Compactar solução A tarefa de compactar a solução recoloca os arquivos individuais do controle do código-fonte ou de qualquer pasta em um único arquivo zip pronto para importação.

Confira a lista completa de tarefas de criação do Azure DevOps para obter informações mais específicas sobre cada uma delas.

Confira a lista completa de ações do GitHub para obter informações mais específicas sobre cada uma delas.

Conectores personalizados e soluções

Um aspecto importante do ciclo de vida do conector é a capacidade de salvar as configurações e definições do conector em formato de texto, em vez do upload de um binário simples de um arquivo zip. Registrar alterações em forma de texto permite uma colaboração efetiva de equipe, pois qualquer conflito pode ser resolvido por meio de um processo de mesclagem do controle do código-fonte.

Os conectores personalizados podem ser incluídos em uma solução Dataverse e transportados entre os ambientes. As soluções são exportadas como arquivos zip com todos os componentes da solução, incluindo os conectores personalizados. O Azure DevOps e o GitHub incluem etapas personalizadas que permitem descompactar as soluções em componentes individuais, incluindo as definições dos conectores personalizados. Esse recurso permite analisar e visualizar as confirmações de código e as solicitações pull para identificar alterações e resolver conflitos, se necessário.