Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Pode automatizar um teste de carga no Azure Load Testing ao criar um pipeline de CI/CD. Neste artigo, aprende a configurar manualmente o GitHub Actions, Azure Pipelines ou outras ferramentas de CI para invocar um teste existente no Azure Load Testing. 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 CI se ligue ao seu recurso de teste de carga do Azure.
- Adicione arquivos de entrada de teste de carga ao repositório, como o script de teste e a configuração do YAML de teste de carga.
- Atualize a definição do pipeline CI/CD para invocar o Azure Load Testing.
Pré-requisitos
- Uma conta no Azure com uma subscrição ativa. Crie uma conta gratuitamente.
- Um teste de Azure Load Testing. Crie um teste de carga baseado em URL, use um script JMeter existente ou um script Locust existente para criar um teste de carga.
- Uma organização e projeto Azure DevOps. Se não tiver uma organização Azure DevOps, pode criar uma gratuitamente. Se precisar de ajuda para começar com Azure Pipelines, veja Crie o 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 um principal de serviço para o fluxo de trabalho CI/CD e atribua o papel de Contribuidor de Teste de Carga Azure RBAC.
Criar uma ligação de serviço no Azure Pipelines
No Azure Pipelines, cria uma ligação serviço no seu projeto de Azure DevOps para aceder a recursos da sua subscrição Azure. Quando crias a ligação de serviço, o Azure DevOps cria um objeto principal de serviço Microsoft Entra.
Inicie sessão na sua organização Azure DevOps (
https://dev.azure.com/<your-organization>) e selecione o seu projeto.Substitua o marcador de texto
<your-organization>pelo identificador do seu projeto.Selecione definições Project>Ligações de serviço>+ Nova ligação de serviço.
No painel Nova ligação de serviço, selecione o Azure Resource Manager e depois selecione Próximo.
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 subscrição do Azure que hospeda o seu recurso de testes 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 Verificado. Na lista de conexões de serviço, selecione a conexão que criou anteriormente e, em seguida, selecione Gerir Service Principal.
O portal Azure abre-se num separador separado do navegador e mostra os detalhes do principal do serviço.
No portal Azure, copie o valor Nome de visualização.
Use esse valor na próxima etapa para conceder permissões para a execução de testes de carga na entidade de serviço.
Conceder acesso ao Azure Load Testing
O Azure Load Testing utiliza o Azure RBAC para conceder permissões para realizar atividades específicas no seu recurso de testes 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 ao principal de serviço.
No portal Azure, acede ao teu recurso Azure Load Testing.
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.
Na guia Membros, selecione Selecionar membros e use o nome de 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 pode usar a ligação de serviço na definição do seu fluxo de trabalho Azure Pipelines para aceder ao seu recurso de testes de carga Azure.
Adicionar arquivos de teste de carga em seu repositório
Para executar um teste de carga com o Azure Load Testing num fluxo de trabalho CI/CD, precisa de adicionar todos os ficheiros de entrada do teste de carga no seu repositório de controlo de versão.
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 pode criar um ficheiro YAML de configuração de teste de carga.
- Arquivo de plano de teste. Para testes baseados em JMeter, adicione um script de teste JMeter (
JMXarquivo). Para testes baseados em gafanhotos, adicione um script de teste de gafanhotos (.pyarquivo). Para testes baseados em URL, adicione um arquivo JSON de solicitações. - Quaisquer ficheiros de propriedades de utilizador JMeter.
- Todos os arquivos de dados de entrada que seu plano de teste usa. Por exemplo, arquivos de dados CSV.
Se já tiver um teste de carga, pode descarregar as definições de configuração e todos os ficheiros de entrada diretamente do portal Azure. Execute os seguintes passos para descarregar os ficheiros de entrada para um teste de carga existente no portal Azure:
No portal Azure, acede ao teu recurso Azure Load Testing.
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 está a trabalhar e, em seguida, selecione Descarregar o ficheiro de entrada.
O navegador faz o download de um arquivo zip que contém os ficheiros de entrada do 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. -
.jmxou.py: O script de teste JMeter ou Locust - 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 Azure Load Testing suporta tanto o GitHub Actions como o Azure Pipelines para execução de testes de carga.
Instale a extensão Azure Load Testing para Azure DevOps
Para criar e executar um teste de carga, a definição do fluxo de trabalho Azure Pipelines utiliza a extensão Azure Load Testing task do Azure DevOps Marketplace.
Abra a extensão de tarefa Azure Load Testing no Azure DevOps Marketplace e selecione Obtenha-a gratuitamente.
Selecione a sua organização Azure DevOps e depois selecione Install para instalar a extensão.
Se não tiver privilégios de administrador para a organização Azure DevOps selecionada, selecione Request para solicitar a instalação da extensão a um administrador.
Atualize o fluxo de trabalho Azure Pipelines
Atualize o seu fluxo de trabalho do Azure Pipelines para executar um teste de carga para o seu recurso de testes de carga do Azure.
Inicie sessão na sua organização Azure DevOps (
https://dev.azure.com/<your-organization>) e selecione o seu projeto.Selecione Pipelines na navegação à esquerda, selecione seu pipeline e selecione Editar para editar sua definição de fluxo de trabalho.
Em alternativa, selecione Criar pipeline para criar um novo pipeline em Azure Pipelines.
Use a
AzureLoadTesttarefa para executar o teste de carga.Especifique o ficheiro de configuração do teste de carga exportado anteriormente na propriedade
loadTestConfigFile.Substitua os marcadores de texto
<load-testing-resource>e<load-testing-resource-group>pelo nome do seu recurso de teste de carga 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, pode passar parâmetros ou segredos para o teste de carga usando a propriedade
envousecrets. DefinewaitForCompletion: falsese quiseres avançar sem esperar que a execução do teste de carga termine.Use a tarefa
publishpara publicar os resultados do teste como artefatos na execução do 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, pode visualizar os resultados resumidos 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.
Limpeza de recursos
Se você não planeja usar nenhum dos recursos que criou, exclua-os para não incorrer em mais cobranças.
Remover alterações do Azure Pipelines:
Inicie sessão na sua organização Azure DevOps (
https://dev.azure.com/<your-organization>) e selecione o seu projeto.Substitua o marcador de texto
<your-organization>pelo identificador do seu 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:
- Seleciona Definições do projeto>Conexões de serviço, e depois seleciona a ligação de serviço desejada.
- Selecione Editar>Eliminar 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.