Recomendações para a integração contínua
Aplica-se a esta recomendação da lista de verificação de Excelência Operacional Bem Arquitetada: Power Platform
OE:04 | Otimize os processos de desenvolvimento de software e de garantia de qualidade seguindo práticas comprovadas do setor para desenvolvimento e teste. Para uma designação de função clara, padronize práticas em componentes, como ferramentas, controle do código-fonte, padrões de design de aplicativos, documentação e guias de estilo. |
---|
A adoção de integração/entrega contínua (CI/CD) pode aumentar a complexidade do desenvolvimento para desenvolvedores cidadãos. No entanto, um processo de desenvolvimento escalonável e automatizado que possa incorporar rapidamente novos recursos e correções de bugs é fundamental para um processo de desenvolvimento de fusão confiável e sustentável.
Como desenvolvedor, você pode fazer pequenas alterações de código, enviar essas alterações para um repositório de código e obter feedback quase instantâneo sobre a qualidade, cobertura de teste e bugs introduzidos. Esse processo permite que você trabalhe mais rápido, com mais confiança e menos risco. A integração contínua é uma prática em que sistemas de controle de origem e pipelines de implantação são integrados para fornecer mecanismos automatizados de compilação, teste e feedback para equipes de desenvolvimento de software.
Estratégias-chave de design
A integração contínua é uma prática de desenvolvimento de software que os desenvolvedores usam para integrar atualizações de software em um sistema de controle do código-fonte em uma cadência regular.
O processo de integração contínua começa quando um engenheiro cria uma solicitação de pull do GitHub para sinalizar ao sistema de CI que as alterações de código estão prontas para serem integradas. Idealmente, o processo de integração valida o código em relação a várias linhas de base e testes. Em seguida, ele fornece feedback ao engenheiro solicitante sobre o status desses testes.
Se as verificações e testes da linha de base forem bem, o processo de integração produzirá e preparará ativos que implantam o software atualizado. Esses ativos incluem código compilado e imagens de contêiner.
A integração contínua pode ajudar você a fornecer software de alta qualidade mais rapidamente, executando as seguintes ações:
- Executa testes automatizados no código para fornecer detecção precoce de alterações interruptivas.
- Executa análise de código para garantir padrões de código, qualidade e configuração.
- Executa verificações de conformidade e segurança para garantir que o software não inclua vulnerabilidades conhecidas.
- Executa testes de aceitação ou funcionais para garantir que o software funcione conforme o esperado.
- Fornece feedback rápido sobre os problemas detectados.
- Quando aplicável, produz ativos ou pacotes implantáveis que incluem o código atualizado.
Ambientes
A instalação e a configuração do ambiente são essenciais para uma CI/CD sustentável e confiável. Os ambientes do Power Platform podem ser configurados para isolar diferentes estágios de desenvolvimento, teste e implantação da solução. O processo de CI/CD move as alterações por esses estágios. Estabeleça uma estratégia de ambiente com princípios orientadores para ambientes de desenvolvedor.
Pipelines de integração contínua
Para atingir a integração contínua, use ferramentas para gerenciar, integrar e automatizar o processo. Um pipeline de integração contínua fornece:
- Uma plataforma para executar testes automatizados
- Verificações de conformidade
- Relatando
- Todos os outros componentes que compõem o processo de integração contínua
Na maioria dos casos, o software do pipeline é anexado ao controle de origem para que, quando solicitações de pull são criadas ou o software é mesclado em uma ramificação específica, o pipeline de integração contínua seja executado. A integração do controle do código-fonte também oferece a oportunidade de fornecer feedback da CI diretamente nas solicitações de pull.
Muitas soluções, como Azure Pipelines ou GitHub Actions, fornecem os recursos de pipelines de integração contínua. Saiba mais em Criar CI/CD com o Azure para Microsoft Power Platform.
Integração do controle do código-fonte
A integração de seu pipeline de integração contínua com seu sistema de controle do código-fonte é fundamental para permitir contribuições rápidas de código de autoatendimento.
O pipeline de CI é executado em uma solicitação de pull recém-criada. O pipeline inclui todos os testes, avaliações de segurança e outras verificações. Os resultados do teste de CI são exibidos diretamente na solicitação de pull para permitir feedback quase em tempo real sobre a qualidade.
Outra prática popular é a criação de pequenos relatórios ou selos que podem ser apresentados no controle do código-fonte para tornar visíveis os estados atuais da compilação.
A imagem a seguir mostra a integração entre o GitHub e um pipeline do Azure DevOps. Neste exemplo, a criação de uma solicitação pull aciona o pipeline. O status do pipeline é exibido na solicitação de pull.
Integração de testes
Um elemento importante da integração contínua é a criação e o teste contínuos do código à medida que os desenvolvedores fazem contribuições de código. Testar as solicitações de pull à medida que são criadas fornece feedback imediato de que a confirmação não introduziu alterações interruptivas. A vantagem é que os testes no pipeline de integração contínua podem ser os mesmos testes executados durante o desenvolvimento baseado em teste.
Verificações de qualidade para código personalizado
Ao incluir código personalizado em suas soluções, adicione verificações de qualidade de código a um pipeline de validação para garantir que o código personalizado limpo seja confirmado no controle do código-fonte. Independentemente da linguagem de codificação e dos padrões de sintaxe usados, existem várias opções para manter a qualidade do código e aumentar a segurança e a governança.
Testes com falha
Os testes com falha devem bloquear temporariamente uma implantação e levar a uma análise mais profunda do que aconteceu. Os testes com falha também devem levar a um refinamento dos testes ou a uma melhoria na alteração que causou a falha dos testes.
Facilitação do Power Platform
Os pipelines em Power Platform visam democratizar o geranciamento do ciclo de vida do aplicativo (ALM) para clientes do Power Platform e do Dynamics 365, trazendo automação de ALM e recursos de integração contínua e entrega contínua (CI/CD) para o serviço.
Microsoft Power Platform As Ferramentas de Construção para Azure DevOps podem ser usadas para automatizar tarefas comuns de construção e implantação relacionadas a aplicativos criados em Power Platform.
Ações do GitHub para Power Platform permitir que os desenvolvedores criem fluxos de trabalho automatizados do ciclo de vida do desenvolvimento de software. Com o GitHub Actions para Microsoft Power Platform, é possível criar fluxos de trabalho no repositório para compilar, testar, empacotar, lançar e implantar aplicativos; realizar automação e gerenciar bots e outros componentes compilados no Microsoft Power Platform.
O ALM Accelerator é uma ferramenta de código aberto que consiste em um conjunto de aplicativos, scripts e pipelines projetados para automatizar o processo de integração contínua/entrega contínua.
Automatize testes com o Azure Pipelines.
Power Apps A API Web do verificador fornece um mecanismo para executar verificações de análise estática em relação a personalizações e extensões da Microsoft Dataverse plataforma.
Microsoft Power Platform CLI (PAC CLI) é uma ferramenta de linha de comando que oferece suporte à importação e exportação de Power Platform soluções, além de compactação e descompactação de Power Platform arquivos de origem de soluções. O PAC CLI está disponível como uma ferramenta de linha de comando autônoma ou como uma extensão para Visual Studio Código.
Informações relacionadas
- Gerenciamento do ciclo de vida do aplicativo (ALM) com Microsoft Power Platform
- Crie CI/CD com o Azure para Microsoft Power Platform
- Power Platform ambientes
- Estabelecendo uma estratégia ambiental
- Governança do codesenvolvimento
- Use cenários para implementar ALM saudável com Microsoft Power Apps
- Automatize testes com Azure Pipelines