Implantar aplicativos com o Package Deployer

Concluído

O Package Deployer permite que os administradores implantem pacotes nos ambientes Microsoft Dataverse. Esses pacotes também são usados por ISVs (fornecedores de software independentes) para implantar soluções certificadas em ambientes de clientes. Os desenvolvedores podem ajudar a configurar o pacote e criar o código que é executado durante as fases de instalação.

Um pacote de implantação é diferente de uma solução do Dataverse única porque pode instalar um aplicativo completo, inclusive várias soluções, dados de referência e instalação de lógica personalizada. Um pacote pode consistir em qualquer um dos seguintes itens ou todos eles:

  • Um ou mais arquivos de solução Dataverse

  • Arquivos simples ou arquivo de dados de configuração exportado da ferramenta de Migração de Configuração

  • Código personalizado que pode ser executado antes, durante ou depois que o pacote é implantado na instância do Dataverse

  • Conteúdo HTML específico do pacote que pode ser exibido no início e no final do processo de implantação. Isso pode ser útil para fornecer uma descrição das soluções e dos arquivos que são implantados no pacote.

Criar um pacote

A Microsoft fornece um modelo do Visual Studio para a criação de pacotes. O nível de esforço pode variar dependendo de quanto código personalizado é incluído para execução durante a instalação. Em geral, um pacote inclui apenas uma ou mais soluções e dados. Estas são as etapas para criar um pacote de implantação:

Você pode inicializar uma pasta com o modelo de projeto de implantação e criar seu pacote inicial usando a Power Platform CLI. O seguinte comando é usado para preencher uma pasta:

pac package init --outputDirectory MyPackage

Após inicializado, você pode começar a personalizá-lo para suas necessidades específicas. Por exemplo, se você quisesse criar um pacote para implantar duas soluções do Dataverse, executaria os comandos a seguir a fim de configurar o pacote para incluí-las.

pac package add-solution --path ..\MySolution1_1_0_0_2_managed.zip
pac package add-solution --path ..\MySolution2_2_0_0_0_managed.zip

Você pode adicionar lógica personalizada editando a classe PackageImportExtension.cs e adicionando lógica ao manipulador de eventos apropriado. A seguir estão os eventos disponíveis aos quais você pode adicionar sua lógica para execução:

  • InitializeCustomExtension: chamado para inicializar qualquer função na extensão personalizada.

  • BeforeImportStage: chamado antes do início do processo de importação principal, após soluções e dados.

  • PreSolutionImport: gerado antes de a solução nomeada ser importada para permitir que quaisquer definições de configuração sejam feitas no processo de importação.

  • RunSolutionUpgradeMigrationStep: chamado durante uma atualização de solução quando ambas as soluções, antigas e novas, estão presentes no sistema. Essa função pode ser usada para fornecer um meio de realizar a transformação ou atualização de dados enquanto uma atualização de solução está ocorrendo.

  • AfterPrimaryImport: chamado após a conclusão de todas as etapas de importação, permitindo personalizações finais ou ajustes do ambiente.

Você também pode fazer outras personalizações fazendo alterações diretamente nos arquivos de configuração.

Após a configuração e a adição de qualquer código personalizado, você pode criar o pacote a fim de prepará-lo para implantação. Você pode carregar o arquivo .csproj no Visual Studio ou usar o comando dotnet para executar o MSBuild. A seguir é mostrado o comando para criar o pacote da linha de comando:

dotnet publish

A criação do pacote gera um arquivo .zip que contém tudo o que é necessário para implantar o pacote.

Implantar um pacote

Depois que um pacote é configurado, ele pode ser implantado nos ambientes do Dataverse usando um dos seguintes métodos:

  • CLI: essa abordagem usa a Power Platform CLI para autenticar no ambiente de destino e executar o comando pac package deploy.

  • Interativamente: o uso dessa abordagem oferece uma experiência semelhante a um assistente para um usuário com acesso administrativo ao ambiente para instalar o pacote. À medida que a instalação avança, o usuário é visualmente informado sobre o andamento. Essa opção usa o aplicativo Windows Package Deployment Tool, que pode ser iniciado usando o comando pac tool pd.

  • Windows PowerShell: o uso dessa abordagem permite a instalação pela linha de comando. Essa abordagem é adequada para pacotes implantados como parte de um processo automatizado.

  • AppSource: essa abordagem é usada quando uma oferta de ISV é selecionada para instalação no portal do AppSource.

Você pode ler mais sobre como a implantação funciona com essas abordagens em Implantar pacotes usando o Package Deployer e o Windows PowerShell.

Incluir dados

Um dos principais fatores que diferencia o Package Deployer da simples instalação de uma solução é que você pode incluir dados de referência/configuração como parte de um pacote de implantação.

A ferramenta de Migração de Configuração é usada para transportar dados de configuração e teste de um ambiente para outro. Ela fornece os meios para capturar esses dados, incluí-los no repositório de controle de origem e usá-los para automatizar os testes. Essa ferramenta pode ser usada de forma autônoma. No entanto, o arquivo data.zip que ela produz como saída pode ser incluído como parte de um pacote de implantação. As etapas de alto nível são:

  1. Definir o esquema dos dados de origem a serem exportados

  2. Usar o esquema para exportar dados

  3. Importar os dados exportados

A seguir é mostrado o diagrama do processo para usar a ferramenta:

Quando usado com o Package Deployer, o arquivo .zip de saída pode ser incluído no pacote de implantação.

A seguir estão alguns dos principais benefícios do uso da Migração de Configuração para preparar dados:

  • Selecione as tabelas e colunas de onde você exportará os dados de configuração.

  • Analise as relações entre os registros e execute a importação usando várias passagens para garantir a integridade dos dados.

  • Use uma consulta para definir um subconjunto de registros a serem incluídos no pacote.

  • Evite registros duplicados no sistema de destino, definindo uma condição de exclusividade para cada tabela com base em uma combinação de colunas na tabela, que é usada para comparar com os valores no sistema de destino.

  • Se não houver valores correspondentes, um registro único será criado no sistema de destino. Se um registro correspondente for encontrado, o registro será atualizado no sistema de destino.

  • Valide o esquema para as tabelas selecionadas a serem exportadas para garantir que todos os dados/informações necessários estejam presentes.

  • Reutilize um esquema existente para exportar dados de um sistema de origem.

  • Avance automaticamente os valores das colunas de data e data e hora na importação para manter os dados atualizados em ambientes de demonstração.

O uso do Package Deployer para implantar aplicativos permite incluir vários arquivos de solução e dados e executar lógica personalizada durante o processo de instalação. Os administradores podem usar uma experiência de instalador semelhante a um assistente e não precisam se preocupar em como instalar os componentes individuais ou importar dados de configuração.