Transportar soluções entre ambientes

Concluído

Um dos principais benefícios do uso de soluções é a capacidade de importar e exportar soluções de ambientes do Microsoft Power Platform. Esse recurso habilita os seguintes casos de uso de chave:

  • Importação de uma solução exportada para outros ambientes

  • Exportação de uma solução para armazenamento no controle do código-fonte

  • Backup sob demanda dos componentes da solução e a capacidade de restaurar componentes da solução sem restaurar ambientes completos

Você pode exportar e importar soluções manualmente no Gerenciador de Soluções ou pode importar e exportar automatizado usando o Microsoft Power Platform Build Tools.

Soluções gerenciadas e não gerenciadas

Uma solução pode ser gerenciada ou não gerenciada. Essa designação determina o que você pode fazer com a solução. Use soluções não gerenciadas em ambientes de desenvolvimento enquanto você faz alterações em fluxos da nuvem e outros componentes da solução. Use soluções gerenciadas ao implantar em um ambiente que não seja um ambiente de desenvolvimento para essa solução. O tipo de solução é determinado por escolha quando você exporta, e se torna ativo quando a solução exportada é importada para outro ambiente.

Por exemplo, uma prática comum é ter um ambiente de desenvolvimento com sua solução (não gerenciada) em que você cria fluxos de nuvem e outros componentes da solução. Em seguida, você exporta uma versão não gerenciada e uma versão gerenciada da solução quando está pronto para publicar em seu ambiente de teste. Você pode manter a solução não gerenciada como uma cópia de backup de seu trabalho. Você também pode usar ferramentas como SolutionPackager ou Microsoft Power Platform CLI para extrair os arquivos individuais da solução não gerenciada e, depois, verificá-los no controle do código-fonte, como GitHub ou Microsoft Azure DevOps.

Além disso, você poderá usar a solução não gerenciada se precisar recriar o ambiente de desenvolvimento. Por esse motivo, sempre tenha uma solução exportada e não gerenciada. Quando você importar para o ambiente de teste, o processo usará a versão gerenciada da solução. Depois que o teste for bem-sucedido, a mesma versão gerenciada será importada para a produção. O ponto chave é que qualquer alteração em um componente de solução só acontece no ambiente de desenvolvimento. Para impor essa noção, você não pode alterar diretamente um componente de solução gerenciada, ajudando a evitar alterações acidentais.

Exportar soluções

Sempre que você exportar soluções manualmente do Gerenciador de Soluções, recebe solicitações para fazer algumas escolhas. As primeiras opções são Publicar todas as alterações e Verificar se há problemas.

Captura de tela das opções de Antes de exportar.

A opção Publicar todas as alterações não é necessária para fluxos da nuvem, mas é uma boa ideia se você tem outros componentes de solução. Algumas personalizações que fazem alterações nos componentes da interface do usuário exigem publicação antes da exportação.

Verifique se há problemas executando uma análise de todos os componentes de solução. Essa análise é semelhante a um verificador de fluxo, mas se destina a todos os componentes da solução, e a análise avisa você de problemas.

A segunda solicitação é para um número de versão e para selecionar Gerenciada ou Não gerenciada.

Captura de tela das opções Número de versão e Exportar como na solicitação Exportar esta solução.

Por padrão, a solução aumenta o número de versão sempre que você exporta. Essencialmente, se você exportar uma solução gerenciada e uma não gerenciada na mesma sessão, elas terão números de versão diferentes, mas representarão a mesma versão. Para evitar essa situação, você pode ajustar manualmente a versão para ser igual em ambas as versões.

Para a opção Exportar como, recomendamos que você realize a exportação duas vezes, uma vez para gerenciada e uma para não gerenciada. Tenha uma cópia não gerenciada exportada ao exportar uma solução gerenciada.

Importar soluções

Para implantar uma solução para outro ambiente, você importará um arquivo de solução exportado. Você pode importar o arquivo da solução gerenciada ou não gerenciada.

A importação de uma solução não gerenciada deve ser direcionada a ambientes de desenvolvimento. Depois que a importação é concluída, os componentes da solução são mesclados no ambiente. Você não poderá desfazer a ação, e a remoção da solução removerá apenas a solução, não os componentes da solução mesclados. Se a solução já existir no ambiente, uma importação atualizará e substituirá os recursos correspondentes existentes. Todas as importações de solução são aditivas, e qualquer componente de solução que não esteja na nova versão ainda existirá no ambiente após a conclusão de uma importação de atualização. Não substitua por engano o trabalho recente desde a última exportação, e importe apenas soluções não gerenciadas para os ambientes pretendidos.

A importação de uma solução gerenciada deve ser direcionada a ambientes de não desenvolvimento, como teste e produção. Diferentemente das soluções não gerenciadas, quando você importa uma solução gerenciada, ela não é mesclada da mesma maneira, mas cria sua própria camada de personalização para rastrear e gerenciar as alterações feitas no ambiente.

As camadas de soluções permite controlar as alterações feitas nos componentes de solução de sua solução gerenciada. Se você importar uma atualização para uma solução gerenciada, o comportamento padrão será processar a importação como uma atualização. A versão atualizada da solução é importada e substitui a versão mais antiga. Esse processo remove do ambiente todos os componentes da solução antigos que não fazem parte da nova versão. Por exemplo, se você tiver excluído um fluxo da nuvem em desenvolvimento, ao importar a versão mais recente para o ambiente de teste, o fluxo excluído desaparecerá do ambiente de teste. A remoção de uma solução gerenciada funciona como uma desinstalação; todos os componentes da solução não referenciados por outra solução são removidos, incluindo seus dados. Você deve evitar atualizar manualmente os fluxos de nuvem diretamente em ambientes em que a solução é implantada como gerenciada, pois isso cria uma alteração não gerenciada que impedirá atualizações futuras. Por exemplo, se você corrigir um fluxo da nuvem em produção, a próxima implantação da importação de uma nova versão funcionará bem; no entanto, o fluxo da nuvem de produção não será atualizado. Você pode identificar e resolver esse problema usando os recursos de gerenciamento de camada de solução. Você também pode evitar esse problema fazendo alterações somente no ambiente de desenvolvimento.

Para qualquer tipo de importação de solução, você será solicitado a atualizar todas as referências de conexão que não foram estabelecidas anteriormente.

Captura de tela da configuração de referências da conexão durante a importação.

Além disso, se houver variáveis de ambiente estiverem na solução que não tenham um valor, você será solicitado a fornecer um valor atual para esse ambiente.

Captura de tela das variáveis de ambiente de Importar uma solução.

As importações e as exportações da solução serão executadas em segundo plano, e você será notificado da conclusão.