Configure 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 as Ações do GitHub, os Pipelines do Azure 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 seu recurso de teste de carga do Azure.
- Adicione arquivos de entrada de teste de carga ao seu repositório, como o script de teste JMeter e a configuração YAML de teste de carga.
- Atualize a definição de pipeline de CI/CD para invocar o Teste de Carga do Azure.
Pré-requisitos
- Uma conta do Azure com uma subscrição ativa. Crie uma conta gratuitamente.
- Um teste de teste de carga do Azure. Crie um teste de carga baseado em URL ou use um script JMeter existente para criar um teste de carga.
- Uma organização e um projeto do Azure DevOps. Se você não tiver uma organização do Azure DevOps, poderá criar uma gratuitamente. Se precisar de ajuda para começar a usar o Azure Pipelines, consulte Criar seu primeiro pipeline.
Configurar autenticação de serviço
Para executar um teste de carga em seu fluxo de trabalho de CI/CD, você precisa conceder permissão ao fluxo de trabalho de CI/CD para acessar seu 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 Azure de Colaborador de Teste de Carga.
Criar uma conexão de serviço no Azure Pipelines
No Azure Pipelines, você cria uma conexão de serviço em seu projeto do Azure DevOps para acessar recursos em sua assinatura do Azure. Quando você cria a conexão de serviço, o Azure DevOps cria um objeto principal de serviço do Microsoft Entra.
Entre em sua organização do Azure DevOps (
https://dev.azure.com/<your-organization>
) e selecione seu projeto.Substitua o espaço reservado de
<your-organization>
texto pelo identificador do projeto.Selecione Configurações do>projeto Conexões> de serviço+ Nova conexão de serviço.
No painel Nova conexão de serviço, selecione o Gerenciador de Recursos do Azure e selecione Avançar.
Selecione o método de autenticação da entidade de serviço (automática) e, em seguida, selecione Avançar.
Insira os detalhes da conexão de serviço e selecione Salvar para criar a conexão de serviço.
Campo valor Nível de âmbito Subscrição. Subscrição Selecione a assinatura do Azure que hospeda seu recurso de teste de carga. Grupo de recursos Selecione o grupo de recursos que contém o recurso de teste de carga. Nome da conexão de serviço Insira um nome exclusivo para a conexão de serviço. Conceder permissão de acesso a todos os pipelines Selecionado. Na lista de conexões de serviço, selecione a que você criou anteriormente e, em seguida, selecione Gerenciar entidade de serviço.
O portal do Azure é aberto em uma guia separada do navegador e mostra os detalhes da entidade de serviço.
No portal do Azure, copie o valor Nome para exibição .
Use esse valor na próxima etapa para conceder permissões para executar testes de carga para a 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 para executar atividades específicas em seu recurso de teste de carga. Para executar um teste de carga a partir do pipeline de CI/CD, conceda a função de Colaborador de Teste de Carga à entidade de serviço.
No portal do Azure, vá para seu recurso de Teste de Carga do Azure.
Selecione Controle de acesso (IAM)>Adicionar>Adicionar atribuição de função.
Na guia Função, selecione Colaborador de Teste de Carga na lista de funções de função.
Na guia Membros, selecione Selecionar membros e use o nome para exibição copiado anteriormente para pesquisar a entidade de serviço.
Selecione a entidade de serviço e, em seguida, selecione Selecionar.
No separador Rever + atribuir, selecione Rever + atribuir para adicionar a atribuição de função.
Agora você pode usar a conexão de serviço em sua definição de fluxo de trabalho do Azure Pipelines para acessar seu recurso de teste de carga do Azure.
Adicionar arquivos de teste de carga em seu 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 de teste de carga em seu 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:
- Teste de carga do arquivo YAML de configuração. Saiba como você pode criar um arquivo YAML de configuração de teste de carga.
- Arquivo de plano de teste. Para testes baseados em JMeter, adicione um script de teste JMeter (
JMX
arquivo). Para testes baseados em URL, adicione um arquivo JSON de solicitações. - Qualquer arquivo de propriedades de usuário JMeter.
- Todos os arquivos de dados de entrada que seu plano de teste usa. Por exemplo, arquivos de dados CSV.
Se você tiver um teste de carga existente, poderá baixar as definições de configuração e todos os arquivos de entrada diretamente do portal do Azure. Execute as seguintes etapas para baixar os arquivos de entrada para um teste de carga existente no portal do Azure:
No portal do Azure, vá para seu recurso de Teste de Carga do Azure.
No painel esquerdo, selecione Testes para exibir a lista de testes de carga e, em seguida, selecione seu teste.
Selecione as reticências (...) ao lado da execução de teste com a qual você está trabalhando e, em seguida, selecione Baixar arquivo de entrada.
O navegador baixa uma pasta compactada que contém os arquivos de entrada de teste de carga.
Use qualquer ferramenta zip para extrair os arquivos de entrada.
A pasta contém os seguintes ficheiros:
config.yaml
: o arquivo de configuração YAML de teste de carga. Você faz referência a esse arquivo na definição de fluxo de trabalho CI/CD..jmx
: o script de teste JMeter- Quaisquer arquivos de entrada adicionais, como arquivos CSV ou arquivos de propriedades do usuário que são necessários para executar o teste de carga.
Confirme todos os arquivos de entrada extraídos em seu 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 dá suporte às Ações do GitHub e aos Pipelines do Azure para executar testes de carga.
Instalar a extensão de Teste de Carga do Azure para Azure DevOps
Para criar e executar um teste de carga, a definição de fluxo de trabalho do Azure Pipelines usa a extensão de tarefa Teste de Carga do Azure do Azure DevOps Marketplace.
Abra a extensão de tarefa Teste de Carga do Azure no Azure DevOps Marketplace e selecione Obter gratuitamente.
Selecione sua organização do Azure DevOps e selecione Instalar para instalar a extensão.
Se você não tiver privilégios de administrador para a organização de DevOps do Azure selecionada, selecione Solicitar para solicitar que um administrador instale a extensão.
Atualizar o fluxo de trabalho do Azure Pipelines
Atualize seu fluxo de trabalho do Azure Pipelines para executar um teste de carga para seu recurso de teste de carga do Azure.
Entre em sua organização do Azure DevOps (
https://dev.azure.com/<your-organization>
) e selecione seu projeto.Selecione Pipelines na navegação à esquerda, selecione seu pipeline e selecione Editar para editar sua definição de fluxo de trabalho.
Como alternativa, selecione Criar Pipeline para criar um novo pipeline no Azure Pipelines.
Use a
AzureLoadTest
tarefa para executar o teste de carga.Especifique o arquivo de configuração de teste de carga exportado
loadTestConfigFile
anteriormente na propriedade.Substitua os espaços reservados e de
<load-testing-resource>
texto pelo nome do seu recurso de teste de carga do Azure e<load-testing-resource-group>
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
env
propriedade orsecrets
.Use a
publish
tarefa para publicar os resultados do teste como artefatos em sua execução de fluxo de trabalho do Azure Pipelines.- publish: $(System.DefaultWorkingDirectory)/loadTest artifact: loadTestResults
Ver resultados do teste de carga
Ao executar um teste de carga a partir do pipeline de CI/CD, você pode exibir os resultados do resumo diretamente no log de saída de CI/CD. Se você publicou os resultados do teste como um artefato de pipeline, também poderá baixar um arquivo CSV para relatórios adicionais.
Clean up resources (Limpar recursos)
Se você não planeja usar nenhum dos recursos que criou, exclua-os para não incorrer em mais cobranças.
Remova as alterações do Azure Pipelines:
Entre em sua organização do Azure DevOps (
https://dev.azure.com/<your-organization>
) e selecione seu projeto.Substitua o espaço reservado de
<your-organization>
texto pelo identificador do projeto.Se você criou um novo pipeline":
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.
Remova a conexão de serviço:
- Selecione Configurações do>projeto Conexões de serviço e, em seguida, selecione sua conexão de serviço.
- Selecione Editar>exclusão para remover a conexão de serviço.
Próximos passos
Avance para o próximo artigo para saber como identificar regressões de desempenho definindo critérios de reprovação de teste e comparando execuções de teste.