Compartilhar via


Configurar manualmente o fluxo de trabalho de CI/CD para executar testes de carga

Você pode automatizar um teste de carga no Teste de Carga do Azure criando um pipeline de CI/CD. Neste artigo, você aprenderá a configurar manualmente o GitHub Actions, Azure Pipelines ou outras ferramentas de CI para invocar um teste existente no Teste de Carga do Azure. Automatize um teste de carga para validar continuamente o desempenho e a estabilidade do aplicativo sob carga.

Para adicionar um teste de carga existente a um pipeline de CI/CD:

  • Configure a autenticação de serviço para permitir que a ferramenta de CI se conecte ao recurso de teste de carga do Azure.
  • Adicione arquivos de entrada de teste de carga ao repositório, como o script de teste JMeter e a configuração YAML de teste de carga.
  • Atualize a definição do pipeline de CI/CD para invocar o Teste de Carga do Azure.

Pré-requisitos

Configurar autenticação de serviço

Para executar um teste de carga no fluxo de trabalho de CI/CD, é necessário conceder permissão ao fluxo de trabalho de CI/CD para acessar o recurso de teste de carga. Crie uma entidade de serviço para o fluxo de trabalho de CI/CD e atribua a função RBAC do Colaborador de Teste de Carga do Azure.

Criar uma conexão de serviço no Azure Pipelines

No Azure Pipelines, crie uma conexão de serviço em seu projeto do Azure DevOps para acessar recursos na assinatura do Azure. Quando você cria a conexão de serviço, o Azure DevOps cria um objeto de entidade de serviço do Microsoft Entra.

  1. Entre em sua organização do Azure DevOps (https://dev.azure.com/<your-organization>) e selecione seu projeto.

    Substitua o espaço reservado de texto <your-organization> pelo identificador do projeto.

  2. Selecione Configurações do projeto>Conexões de serviço>+ Nova conexão de serviço.

  3. No painel Nova conexão de serviço, selecione o Azure Resource Manager e, em seguida, selecione Avançar.

  4. Selecione o método de autenticação Entidade de serviço (automático) e Avançar.

  5. Insira os detalhes da conexão de serviço e selecione Salvar para criar a conexão de serviço.

    Campo Valor
    Scope level Assinatura.
    Assinatura Selecione a assinatura do Azure que hospeda o recurso de teste de carga.
    Grupo de recursos Selecione o grupo de recursos que contém o recurso de teste de carga.
    Service connection name Insira um nome exclusivo para a conexão de serviço.
    Conceder permissão de acesso a todos os pipelines Marcada.
  6. Na lista de conexões de serviço, selecione a que você criou anteriormente e, em seguida, selecione Gerenciar Entidade de Serviço.

    Captura de tela que mostra seleções para gerenciamento de uma entidade de serviço.

    O portal do Azure é aberto em uma guia separada do navegador e mostra os detalhes da entidade de serviço.

  7. No portal do Azure, copie o valor Nome de exibição.

    Use esse valor na próxima etapa para conceder permissões para executar testes de carga na entidade de serviço.

Conceder acesso ao Teste de Carga do Azure

O Teste de Carga do Azure usa o RBAC do Azure para conceder permissões e executar atividades específicas no recurso de teste de carga. Para executar um teste de carga a partir do pipeline de CI/CD, conceda a função Colaborador de Teste de Carga à entidade de serviço.

  1. No portal do Azure, acesse seu recurso de Teste de Carga do Azure.

  2. Selecione Controle de acesso (IAM)>Adicionar>Adicionar atribuição de função.

  3. Na guia Função, selecione Colaborador de Teste de Carga na lista de funções de trabalho.

    Captura de tela que mostra a lista de funções na página Adicionar atribuição de função no portal do Azure, destacando a função Colaborador de Teste de Carga.

  4. Na guia Membros, selecione Selecionar membros e, em seguida, use o nome de exibição que você copiou anteriormente para pesquisar a entidade de serviço.

  5. Selecione a entidade de serviço e, em seguida, selecione Selecionar.

  6. Na guia Examinar + atribuir, selecione Examinar + atribuir para adicionar a atribuição de função.

Agora você pode usar a conexão de serviço na definição de fluxo de trabalho do Azure Pipelines para acessar o recurso de teste de carga do Azure.

Adicionar arquivos de teste de carga ao repositório

Para executar um teste de carga com o Teste de Carga do Azure em um fluxo de trabalho de CI/CD, você precisa adicionar todos os arquivos de entrada do teste de carga ao repositório de controle do código-fonte.

Se você não tiver um teste de carga existente, adicione os seguintes arquivos ao repositório de código-fonte:

Se você tiver um teste de carga existente, poderá baixar as configurações de configuração e todos os arquivos de entrada diretamente do portal do Azure. Execute as etapas a seguir para baixar os arquivos de entrada de um teste de carga existente no portal do Azure:

  1. No portal do Azure, acesse seu recurso de Teste de Carga do Azure.

  2. No painel esquerdo, selecione Testes para exibir a lista de testes de carga e selecione o seu teste.

    Captura de tela que mostra a lista de testes de um recurso de Teste de Carga do Azure.

  3. Selecione as reticências (...) ao lado da execução de teste com a qual está trabalhando e, em seguida, selecione Baixar arquivo de entrada.

    O navegador baixa uma pasta compactada que contém os arquivos de entrada do teste de carga.

    Captura de tela que mostra como baixar o arquivo de resultados de uma execução de teste de carga.

  4. Use qualquer ferramenta zip para extrair os arquivos de entrada.

    A pasta contém os seguintes arquivos:

    • config.yaml: o arquivo de configuração YAML do teste de carga. Faça referência a esse arquivo na definição do fluxo de trabalho de CI/CD.
    • .jmx: o script de teste do JMeter
    • Os arquivos de entrada adicionais, como arquivos CSV ou arquivos de propriedades do usuário necessários para executar o teste de carga.
  5. Confirme todos os arquivos de entrada extraídos no repositório de controle do código-fonte.

    Use o repositório de código-fonte no qual você configura o pipeline de CI/CD.

Atualizar a definição do fluxo de trabalho de CI/CD

O Teste de Carga do Azure oferece suporte ao GitHub Actions e ao Azure Pipelines para executar testes de carga.

Instalar a extensão do Teste de Carga do Azure para o Azure DevOps

Para criar e executar um teste de carga, a definição do fluxo de trabalho do Azure Pipelines usa a extensão Tarefa de Teste de Carga do Azure do Azure DevOps Marketplace.

  1. Abra a extensão de tarefa do Teste de Carga do Azure no Azure DevOps Marketplace e selecione Obter gratuitamente.

  2. Selecione sua organização do Azure DevOps e escolha Instalar a extensão.

    Se você não tiver privilégios de administrador para a organização selecionada do Azure DevOps, escolha Solicitar o privilégio ao administrador para instalar a extensão.

Atualizar o fluxo de trabalho do Azure Pipelines

Atualize o fluxo de trabalho do Azure Pipelines para executar um teste de carga para o recurso de teste de carga do Azure.

  1. Entre em sua organização do Azure DevOps (https://dev.azure.com/<your-organization>) e selecione seu projeto.

  2. Selecione Pipelines na navegação à esquerda, selecione o pipeline e, em seguida, selecione Editar para editar a definição do fluxo de trabalho.

    Como alternativa, selecione Criar Pipeline para criar um novo pipeline no Azure Pipelines.

  3. Use a tarefa AzureLoadTest para executar o teste de carga.

    Especifique o arquivo de configuração do teste de carga que você exportou anteriormente na propriedade loadTestConfigFile.

    Substitua os espaços reservados de texto <load-testing-resource> e <load-testing-resource-group> pelo nome do recurso de teste de carga do Azure e do grupo de recursos.

        - task: AzureLoadTest@1
          inputs:
            azureSubscription: $(serviceConnection)
            loadTestConfigFile: 'config.yaml'
            loadTestResource: <load-testing-resource>
            resourceGroup: <load-testing-resource-group>
    

    Opcionalmente, você pode passar parâmetros ou segredos para o teste de carga usando a propriedade env ou secrets.

  4. Use a tarefa publish para publicar os resultados do teste como artefatos na execução do fluxo de trabalho do Azure Pipelines.

        - publish: $(System.DefaultWorkingDirectory)/loadTest
          artifact: loadTestResults
    

Exibir resultados de testes de carga

Ao executar um teste de carga a partir do pipeline de CI/CD, você poderá exibir os resultados do resumo diretamente no registro de saída de CI/CD. Se você publicou os resultados do teste como um artefato de pipeline, também poderá fazer o download de um arquivo CSV para relatórios adicionais.

Captura de tela que mostra as informações de log do fluxo de trabalho.

Limpar os recursos

Se você não pretende usar nenhum dos recursos criados, exclua-os para não gerar custos.

  1. Remover alterações do Azure Pipelines:

    1. Entre em sua organização do Azure DevOps (https://dev.azure.com/<your-organization>) e selecione seu projeto.

      Substitua o espaço reservado de texto <your-organization> pelo identificador do projeto.

    2. Se você criou um novo pipeline":

      1. Selecione Pipelines e escolha o pipeline.

      2. Selecione as reticências e, em seguida, selecione Excluir.

        Captura de tela que mostra como excluir uma definição do Azure Pipelines.

      3. Insira o nome do pipeline e selecione Excluir para excluir o pipeline.

    3. Se você modificou uma definição de fluxo de trabalho existente, desfaça as modificações para executar o teste de carga e salve o fluxo de trabalho.

  2. Remover a conexão de serviço:

    1. Selecione Configurações do projeto>Conexões de serviço e, em seguida, selecione sua conexão de serviço.
    2. Selecione Editar>Excluir para remover a conexão de serviço.

Próximas etapas

Vá para o próximo artigo para saber como identificar regressões de desempenho definindo critérios de falha de teste e comparando execuções de teste.