Guida introduttiva: Automatizzare un test di carico esistente con CI/CD

Questo articolo illustra come automatizzare un test di carico esistente creando una pipeline CI/CD in Azure Pipelines. Selezionare il test in Test di carico di Azure e configurare direttamente una pipeline in Azure DevOps che attiva il test di carico con ogni commit del codice sorgente. Automatizzare i test di carico con CI/CD per convalidare continuamente le prestazioni e la stabilità dell'applicazione sotto carico.

Per automatizzare il test di carico con GitHub Actions, informazioni su come configurare manualmente una pipeline CI/CD per test di carico di Azure.

Prerequisiti

Configurare una pipeline CI/CD

In questa sezione si creerà una pipeline CI/CD in Azure Pipelines per eseguire un test di carico esistente. I file di test, ad esempio lo script JMeter e la configurazione di test YAML , verranno sottoposti a commit nel repository.

  1. Nella portale di Azure passare alla risorsa test di carico di Azure.

  2. Nel riquadro sinistro selezionare Test per visualizzare l'elenco dei test.

  3. Selezionare un test dall'elenco selezionando la casella di controllo e quindi selezionare Configura CI/CD.

    Screenshot that shows the list of tests in Azure portal.

  4. Immettere i dettagli seguenti per la creazione di una definizione di pipeline CI/CD:

    Impostazione Valore
    Azienda Selezionare l'organizzazione Azure DevOps da cui si vuole eseguire la pipeline.
    Progetto Selezionare il progetto dall'organizzazione selezionata in precedenza.
    Repository Selezionare il repository del codice sorgente da cui archiviare ed eseguire la pipeline di Azure.
    Ramo Selezionare il ramo nel repository selezionato.
    Cartella del ramo del repository (Facoltativo) Immettere il nome della cartella del ramo del repository in cui si vuole eseguire il commit. Se vuoto, viene usata la cartella radice.
    Eseguire l'override dei file esistenti Controllare questa impostazione.
    Connessione al servizio Selezionare Crea nuovo per creare una nuova connessione al servizio per consentire ad Azure Pipelines di connettersi alla risorsa di test di carico.

    Se nella risorsa è già presente una connessione al servizio con il ruolo Collaboratore test di carico, scegliere Seleziona esistente e selezionare la connessione al servizio dall'elenco a discesa.

    Screenshot that shows the settings to be configured to set up a CI/CD pipeline.

    Importante

    Se viene visualizzato un errore durante la creazione di un token pat o se non vengono visualizzati repository, assicurarsi di connettere l'organizzazione di Azure DevOps all'ID Microsoft Entra. Assicurarsi che la directory in Azure DevOps corrisponda alla directory usata per Test di carico di Azure. Dopo la connessione a Microsoft Entra ID, chiudere e riaprire la finestra del browser.

  5. Selezionare Crea pipeline per iniziare a creare la definizione della pipeline.

    Test di carico di Azure esegue la procedura seguente per configurare la pipeline CI/CD:

    • Creare una nuova connessione al servizio di tipo Azure Resource Manager nel progetto Azure DevOps. All'entità servizio viene assegnato automaticamente il ruolo Collaboratore test di carico nella risorsa test di carico di Azure.

    • Eseguire il commit dello script JMeter e testare la configurazione YAML nel repository del codice sorgente.

    • Creare una definizione della pipeline che richiama la risorsa test di carico di Azure ed esegue il test di carico.

  6. Al termine della creazione della pipeline, si riceve una notifica nel portale di Azure con un collegamento alla pipeline.

  7. Facoltativamente, è possibile aprire la definizione della pipeline e modificare i passaggi della pipeline o modificare quando viene attivata la pipeline.

È ora disponibile una pipeline CI/CD in Azure Pipelines che richiama il test di carico quando viene attivata la pipeline. Per impostazione predefinita, la pipeline viene attivata ogni volta che si esegue il push di un aggiornamento nel ramo selezionato.

Screenshot that shows the Azure pipeline in Azure DevOps that was generated by Azure Load Testing.

Concedere l'autorizzazione per la connessione al servizio

Quando si esegue la pipeline CI/CD per la prima volta, è necessario concedere l'autorizzazione alla pipeline per accedere alla connessione al servizio e avviare il test di carico.

  1. Accedere all'organizzazione di Azure DevOps (https://dev.azure.com/<your-organization>) e selezionare il progetto.

    Sostituire il segnaposto di testo con l'identificatore <your-organization> del progetto.

  2. Selezionare Pipeline nel riquadro di spostamento sinistro e quindi selezionare la pipeline.

    Si noti che lo stato di esecuzione della pipeline è In sospeso.

  3. Selezionare l'esecuzione della pipeline in sospeso e quindi selezionare Visualizza.

    Viene visualizzato un messaggio di avviso che indica che la pipeline necessita dell'autorizzazione per accedere alla risorsa di test di carico.

    Screenshot that shows the alert message that the Azure pipeline run needs permission to access a resource.

  4. Selezionare Consenti e quindi selezionare di nuovo Consenti nella finestra di conferma.

    Screenshot that shows the grant permission window in Azure Pipelines to grant access to the service connection for running a load test.

L'esecuzione della pipeline CI/CD viene avviata e accede alla risorsa test di carico di Azure per eseguire il test.

Visualizzare i risultati dei test di carico in CI/CD

È possibile visualizzare i risultati del riepilogo dei test di carico direttamente nel log di output CI/CD.

Screenshot that shows the Azure Pipelines output log information, highlighting the load testing results.

La pipeline CI/CD generata pubblica i risultati del test di carico come artefatto della pipeline. È possibile scaricare questi risultati come file CSV per ulteriori report.

Screenshot that shows the artifacts page for pipeline run in Azure Pipelines, highlighting the load test results zip file.

Passaggi successivi

È stata configurata una pipeline CI/CD in Azure Pipelines per un test di carico esistente.