ALM com Azure DevOps

Concluído

Os arquitetos de soluções se esforçam para definir o processo de como alterações serão promovidas do desenvolvimento até a produção. Esse esforço inclui a definição do número de estágios, como desenvolvimento > teste > produção e os processos para fazer a promoção, manual ou automatizada.

A Microsoft está criando ferramentas para apoiar esse processo com o Microsoft Azure DevOps, usando a integração contínua (CI) e a implantação contínua (CD).

Esta seção fornece uma visão geral do Azure DevOps e como você pode usar o DevOps com o Microsoft Power Platform para automatizar implantações.

Azure DevOps

O Azure DevOps fornece serviços de desenvolvedor a equipes de suporte para planejar o trabalho, colaborar com o desenvolvimento de código, além de criar e implantar aplicativos.

Diagrama que mostra a colaboração no Azure DevOps.

O Azure DevOps contém vários recursos para ajudar no desenvolvimento de aplicativos:

  • Azure Boards: planeje, rastreie e discuta o trabalho com suas equipes.
  • Azure Pipelines: use para automatizar e lançar versões de integração e implantação contínuas (CI/CD).
  • Azure Repos: controle do código-fonte para armazenar e controlar alterações.
  • Azure Test Plans: planeje, implemente e rastreie testes de script.
  • Azure Artifacts: publique soluções criadas por pipelines de build.

Pipelines

O Power Apps cria ferramentas para automatizas as tarefas comuns de criação e implantação relacionadas ao Power Apps usando o Azure Pipelines.

Pipelines de build podem ser usados para:

  • Criar ambientes de desenvolvimento.
  • Confirmar alterações de desenvolvimento para controle do código-fonte.
  • Habilitar a ferramenta Verificador de solução.
  • Executar testes automatizados.
  • Criar soluções de saída do controle do código-fonte (por exemplo, gerenciado ou não gerenciado).

Pipelines de versões podem ser usados para:

  • Obter soluções de pipelines de build e implantá-los em um ou mais ambientes de teste ou de produção.
  • Executar testes automatizados como parte do processo de liberação.
  • Pausar aprovações antes de passar para o próximo ambiente.

As tarefas no Microsoft Power Platform Build Tools podem ser usadas com outras tarefas disponíveis do Azure DevOps para compor os pipelines de build e de versões. Os pipelines que as equipes costumam estabelecer incluem Iniciar, Exportar de Desenvolvimento, Criar e Lançamento.

Diagrama do Azure DevOps com o Microsoft Power Platform.

Metodologias de implantação

Ao implantar soluções por meio de um pipeline de lançamento, você deve tomar a decisão de enviar o lançamento manual ou automaticamente. Você pode configurar as execuções do pipeline de lançamento para realizar push manualmente por um usuário do Azure DevOps, serem executadas automaticamente de acordo com uma agenda ou serem disparadas por uma solicitação de pull. Você pode habilitar a implantação contínua em um pipeline de lançamento para enviar por push o build mais recente da solução a outros ambientes assim que ele estiver disponível.

Para interrupção/reparo imediato em uma solução, um gatilho manual provavelmente é o método preferencial para disponibilizar o build mais recente nos ambientes upstream o mais rápido possível, enquanto um gatilho agendado ou de solicitação de pull faz mais sentido quando as atualizações das soluções são realizadas regularmente.

Captura de tela do pipeline de lançamento que dispara a implantação contínua e os gatilhos de solicitação de pull.

Captura de tela do pipeline de lançamento que dispara o gatilho de lançamento agendado.

Considere este exemplo:

O Contoso Bank tem uma equipe de desenvolvedores trabalhando em uma solução complexa do Power Platform que precisa passar por vários estágios de testes antes de chegar à produção. A equipe de desenvolvimento usa metodologias Agile para seus projetos de desenvolvimento e impõe um padrão regular de ciclos de build e lançamento. Por esse motivo, a equipe de desenvolvimento do Contoso Bank usa o gatilho do pipeline de lançamento agendado, em que o agendamento é baseado em seus ciclos de sprint predefinidos. Essa é uma abordagem automatizada para enviar lançamentos por push.

No entanto, se um bug importante for descoberto em um ambiente UAT, os desenvolvedores poderão optar por corrigi-lo com um novo build e disparar o pipeline de lançamento manualmente para que os testes no ambiente UAT possam continuar o mais rápido possível.

Talvez o Contoso Bank esteja executando um projeto menor sem linhas do tempo rígidas para os ciclos de lançamento. Nesse caso, pode ser preferível usar um gatilho manual para o pipeline de lançamento, pois não há um ritmo regular para quando novos builds são disponibilizados.

Para obter mais informações sobre como usar o DevOps para mudar do ALM manual para o automatizado, bem como as práticas recomendadas sobre qual é a metodologia de implantação ideal para você, confira Usar o DevOps para passar do ALM manual para o automatizado.

Ferramentas de automação alternativas

Estas são alternativas para automatizar implantações sem usar o Azure DevOps:

  • O Dataverse e APIs administrativas podem ser usados para automatizar de qualquer idioma compatível.
  • O PowerShell pode ser usado em vez de tarefas de build para obter mais controle.
  • O Power Automate pode ser usado com os conectores de administração de plataforma para automatizar implantações.
  • As ações do GitHub estão atualmente em versão preliminar.