Configurare manualmente il flusso di lavoro CI/CD per l'esecuzione di test di carico

È possibile automatizzare un test di carico in Test di carico di Azure creando una pipeline CI/CD. Questo articolo illustra come configurare manualmente GitHub Actions, Azure Pipelines o altri strumenti di integrazione continua per richiamare un test esistente in Test di carico di Azure. Automatizzare un test di carico per convalidare continuamente le prestazioni e la stabilità dell'applicazione in condizioni di carico.

Per aggiungere un test di carico esistente a una pipeline CI/CD:

  • Configurare l'autenticazione del servizio per consentire allo strumento di integrazione continua di connettersi alla risorsa di test di carico Azure.
  • Aggiungere file di input del test di carico al repository, ad esempio lo script di test e la configurazione YAML del test di carico.
  • Aggiornare la definizione della pipeline CI/CD per richiamare Test di carico di Azure.

Prerequisiti

Configurare l'autenticazione del servizio.

Per eseguire un test di carico nel flusso di lavoro CI/CD, è necessario concedere l'autorizzazione al flusso di lavoro CI/CD per accedere alla risorsa del test di carico. Creare un'entità del servizio per il flusso di lavoro CI/CD e assegnare il ruolo di Collaboratore del test di carico del controllo degli accessi in base al ruolo di Azure.

Creare una connessione al servizio in Azure Pipelines

In Azure Pipelines si crea una connessione service nel progetto Azure DevOps per accedere alle risorse nella sottoscrizione Azure. Quando si crea la connessione al servizio, Azure DevOps crea un oggetto entità servizio principale di Microsoft Entra.

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

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

  2. Selezionare Impostazioni progetto>Connessioni servizio>+ Nuova connessione servizio.

  3. Nel riquadro Nuova connessione al servizio selezionare il Azure Resource Manager e quindi selezionare Next.

  4. Selezionare il metodo di autenticazione dell'entità servizio (automatico) e quindi selezionare Avanti.

  5. Immettere i dettagli della connessione al servizio e quindi selezionare Salva per creare la connessione al servizio.

    Campo Valore
    Livello di ambito Sottoscrizione.
    Abbonamento Selezionare la sottoscrizione Azure che ospita la risorsa di test di carico.
    Gruppo di risorse Selezionare il gruppo di risorse che contiene la risorsa di test di carico.
    Nome della connessione al servizio Immettere un nome univoco per la connessione al servizio.
    Concedere l'autorizzazione di accesso a tutte le pipeline Selezionata.
  6. Nell'elenco delle connessioni al servizio selezionare quella creata in precedenza e quindi selezionare Gestisci entità servizio.

    Screenshot che mostra le selezioni per la gestione di un'entità servizio.

    Il portale di Azure viene aperto in una scheda separata del browser e mostra i dettagli dell'entità servizio.

  7. Nel portale di Azure, copiare il valore Nome visualizzato.

    Questo valore viene usato nel passaggio successivo per concedere le autorizzazioni per l'esecuzione di test di carico all'entità servizio.

Concedere l'accesso a Test di carico di Azure

Test di carico di Azure utilizza Azure Role-Based Access Control (RBAC) per concedere autorizzazioni per eseguire attività specifiche sulla risorsa di test di carico. Per eseguire un test di carico dalla pipeline CI/CD, si concede il ruolo Collaboratore test di carico all'entità servizio.

  1. Nel portale Azure passare alla risorsa Test di carico di Azure.

  2. Selezionare Controllo di accesso (IAM)>Aggiungi>Aggiungi assegnazione di ruolo.

  3. Nella scheda Ruolo selezionare Collaboratore test di carico nell'elenco dei ruoli della funzione lavorativa.

    Screenshot che mostra l'elenco dei ruoli nella pagina Aggiungi assegnazione di ruolo nel portale di Azure, evidenziando il ruolo di Collaboratore per il Test di Carico.

  4. Nella scheda Membri selezionare Seleziona membri e quindi usare il nome visualizzato copiato in precedenza per cercare l'entità servizio.

  5. Selezionare l'entità servizio e quindi selezionare Seleziona.

  6. Nella scheda Revisione e assegnazione selezionare Rivedi e assegna per aggiungere l'assegnazione di ruolo.

È ora possibile usare la connessione al servizio nella definizione del flusso di lavoro Azure Pipelines per accedere alla risorsa di test di carico Azure.

Aggiungere file di test di carico nel repository

Per eseguire un test di carico con Test di carico di Azure in un flusso di lavoro CI/CD, è necessario aggiungere tutti i file di input del test di carico nel repository del controllo del codice sorgente.

Se non si dispone di un test di carico esistente, aggiungere i file seguenti al repository del codice sorgente:

Se si dispone di un test di carico esistente, è possibile scaricare le impostazioni di configurazione e tutti i file di input direttamente dal portale di Azure. Seguire questa procedura per scaricare i file di input per un test di carico esistente nel portale di Azure:

  1. Nel portale Azure passare alla risorsa Test di carico di Azure.

  2. Nel riquadro sinistro selezionare Test per visualizzare l'elenco dei test di carico e quindi selezionare il test.

    Screenshot che mostra l'elenco dei test per un Test di carico di Azure resource.

  3. Selezionare i puntini di sospensione (...) accanto all'esecuzione del test in uso e quindi selezionare Scarica file di input.

    Il browser scarica una cartella compressa che contiene i file di input del test di carico.

    Screenshot che mostra come scaricare il file dei risultati per un'esecuzione del test di carico.

  4. Usare qualsiasi strumento ZIP per estrarre i file di input.

    La cartella contiene i file seguenti:

    • config.yaml: il file di configurazione YAML del test di carico. Viene fatto riferimento a questo file nella definizione del flusso di lavoro CI/CD.
    • .jmx o .py: script di test JMeter o Locust
    • Eventuali file di input aggiuntivi, ad esempio file CSV o file di proprietà utente necessari per eseguire il test di carico.
  5. Eseguire il commit di tutti i file di input estratti nel repository del controllo del codice sorgente.

    Usare il repository del codice sorgente in cui si configura la pipeline CI/CD.

Aggiornare la definizione del flusso di lavoro CI/CD

Test di carico di Azure supporta sia GitHub Actions che Azure Pipelines per l'esecuzione di test di carico.

Installare l'estensione Test di carico di Azure per Azure DevOps

Per creare ed eseguire un test di carico, la definizione del flusso di lavoro di Azure Pipelines usa l'estensione Test di carico di Azure di Azure DevOps Marketplace.

  1. Aprire l'estensione dell'attività Test di carico di Azure in Azure DevOps Marketplace e selezionare Get it free.

  2. Selezionare l'organizzazione Azure DevOps e quindi selezionare Installa per installare l'estensione.

    Se non si hanno privilegi di amministratore per l'organizzazione Azure DevOps selezionata, selezionare Request per richiedere a un amministratore di installare l'estensione.

Aggiornare il flusso di lavoro Azure Pipelines

Aggiornare il flusso di lavoro Azure Pipelines per eseguire un test di carico per la risorsa di test di carico Azure.

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

  2. Selezionare Pipeline nel riquadro di spostamento sinistro, selezionare la pipeline e quindi selezionare Modifica per modificare la definizione del flusso di lavoro.

    In alternativa, selezionare Crea pipeline per creare una nuova pipeline in Azure Pipelines.

  3. Usare l'attività AzureLoadTest per eseguire il test di carico.

    Specificare il file di configurazione del test di carico esportato in precedenza nella proprietà loadTestConfigFile.

    Sostituire i segnaposto di testo <load-testing-resource> e <load-testing-resource-group> con il nome della risorsa di test di carico Azure e del gruppo di risorse.

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

    Facoltativamente, è possibile trasmettere parametri o segreti al test di carico utilizzando la proprietà env o secrets. Impostare waitForCompletion: false se si desidera procedere senza attendere il completamento dell'esecuzione del test di carico.

  4. Usare l'attività publish per pubblicare i risultati del test come artefatti durante l'esecuzione del flusso di lavoro di Azure Pipelines.

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

Visualizzare i risultati del test di carico

Quando si esegue un test di carico dalla pipeline CI/CD, è possibile visualizzare i risultati di riepilogo direttamente nel log di output CI/CD. Se i risultati del test sono stati pubblicati come artefatto della pipeline, è anche possibile scaricare un file CSV per un’ulteriore creazione di report.

Screenshot che mostra le informazioni di registrazione del flusso di lavoro.

Pulire le risorse

Se le risorse create non servono più, eliminarle per evitare ulteriori addebiti.

  1. Rimuovere modifiche di Azure Pipelines

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

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

    2. Se è stata creata una nuova pipeline":

      1. Selezionare Pipeline e quindi selezionare la pipeline.

      2. Selezionare i puntini di sospensione e quindi selezionare Elimina.

        Screenshot che illustra come eliminare una definizione di Azure Pipelines.

      3. Immettere il nome della pipeline e quindi selezionare Elimina per eliminare la pipeline.

    3. Se è stata modificata una definizione del flusso di lavoro esistente, annullare le modifiche per l'esecuzione del test di carico e salvare il flusso di lavoro.

  2. Rimuovere la connessione al servizio:

    1. Selezionare Project settings>Service connections e quindi selezionare la connessione al servizio.
    2. Selezionare Modifica>Elimina per rimuovere la connessione al servizio.

Passaggi successivi

Passare all'articolo successivo per informazioni su come identificare le regressioni delle prestazioni definendo i criteri di esito negativo del test e confrontando le esecuzioni dei test.