Compartir a través de


Configurar manualmente el flujo de trabajo de CI/CD para ejecutar pruebas de carga

Puede automatizar una prueba de carga en Azure Load Testing mediante la creación de una canalización de CI/CD. En este artículo, aprenderá a configurar manualmente Acciones de GitHub, Azure Pipelines u otras herramientas de CI para invocar una prueba existente en Azure Load Testing. Automatice una prueba de carga para validar continuamente el rendimiento y la estabilidad de la aplicación bajo carga.

Para agregar una prueba de carga existente a una canalización de CI/CD:

  • Configure la autenticación de servicio para permitir que la herramienta de CI se conecte al recurso de prueba de carga de Azure.
  • Agregue al repositorio los archivos de entrada de la prueba de carga, como el script de prueba y la configuración YAML.
  • Actualice la definición de canalización de CI/CD para invocar Azure Load Testing.

Prerrequisitos

Configuración de la autenticación del servicio

Para ejecutar una prueba de carga en el flujo de trabajo de CI/CD, es necesario conceder permiso al flujo de trabajo de CI/CD para acceder al recurso de prueba de carga. Cree una entidad de servicio para el flujo de trabajo de CI/CD y asigne el rol Colaborador de pruebas de carga Azure RBAC.

Creación de una conexión de servicio en Azure Pipelines

En Azure Pipelines, creará una conexión service en el proyecto de Azure DevOps para acceder a los recursos de la suscripción de Azure. Al crear la conexión de servicio, Azure DevOps crea un objeto Microsoft Entra entidad de servicio.

  1. Inicie sesión en la organización de Azure DevOps (https://dev.azure.com/<your-organization>) y seleccione el proyecto.

    Reemplace el marcador de posición de texto <your-organization> por el identificador del proyecto.

  2. Seleccione Project settings>Service connections>+ New service connection.

  3. En el panel Nuevo servicio, seleccione el Azure Resource Manager y seleccione Next.

  4. Seleccione el método de autenticación Entidad de servicio (automática) y Siguiente.

  5. Escriba la información de conexión de servicio y, después, seleccione Guardar para crear la conexión de servicio.

    Campo Importancia
    Nivel de ámbito Suscripción.
    Suscripción Seleccione la suscripción Azure que hospeda el recurso de prueba de carga.
    Grupo de recursos Seleccione el grupo de recursos que contiene el recurso de prueba de carga.
    Nombre de conexión de servicio Escriba un nombre único para la conexión de servicio.
    Conceder permiso de acceso a todas las canalizaciones Activado.
  6. En la lista de conexiones de servicio, seleccione la que creó anteriormente y, a continuación, seleccione Administrar entidad de servicio.

    Captura de pantalla que muestra las selecciones para administrar una entidad de servicio.

    El portal de Azure se abre en una pestaña independiente del explorador y muestra los detalles de la entidad de servicio.

  7. En el portal de Azure, copie el nombre Display.

    Use este valor en el paso siguiente para conceder permisos para ejecutar pruebas de carga en la entidad de servicio.

Concesión de acceso a Azure Load Testing

Azure Load Testing usa Azure RBAC para conceder permisos para realizar actividades específicas en el recurso de prueba de carga. Para ejecutar una prueba de carga desde la canalización de CI/CD, conceda el rol Colaborador de pruebas de carga a la entidad de servicio.

  1. En el portal Azure, vaya al recurso de Azure Load Testing.

  2. Seleccione Control de acceso (IAM)>Agregar>Agregar asignación de roles.

  3. En la pestaña Rol, seleccione Colaborador de pruebas de carga en la lista de roles de funciones de trabajo.

    Screenshot que muestra la lista de roles en la página Agregar asignación de roles en el portal de Azure, resaltando el rol Colaborador de pruebas de carga.

  4. En la pestaña Miembros, seleccione Seleccionar miembros y, a continuación, use el nombre para mostrar que copió anteriormente para buscar en la entidad de servicio.

  5. Seleccione la entidad de servicio y, a continuación, seleccione Seleccionar.

  6. En la pestaña Revisar + asignar, seleccione Revisar + asignar para agregar la asignación de roles.

Ahora puede usar la conexión de servicio en la definición de flujo de trabajo de Azure Pipelines para acceder al recurso de prueba de carga de Azure.

Adición de archivos de prueba de carga en el repositorio

Para ejecutar una prueba de carga con Azure Load Testing en un flujo de trabajo de CI/CD, debe agregar todos los archivos de entrada de prueba de carga en el repositorio de control de código fuente.

Si no tiene una prueba de carga existente, agregue los siguientes archivos al repositorio de código fuente:

  • Archivo YAML de configuración de prueba de carga. Obtenga información sobre cómo crear un archivo YAML de configuración de prueba de carga.
  • Archivo de plan de pruebas. En el caso de las pruebas basadas en JMeter, agregue un script de prueba de JMeter (archivo JMX). Para las pruebas basadas en Locust, agregue un archivo script de prueba de Locust (.py). En el caso de las pruebas basadas en direcciones URL, agregue un archivo JSON de solicitudes.
  • Cualquiera de los archivos de propiedades de usuario de JMeter.
  • Cualquier archivo de datos de entrada que use el plan de prueba. Por ejemplo, archivos de datos CSV.

Si tiene una prueba de carga existente, puede descargar los valores de configuración y todos los archivos de entrada directamente desde el portal de Azure. Realice los pasos siguientes para descargar los archivos de entrada de una prueba de carga existente en el portal de Azure:

  1. En el portal Azure, vaya al recurso de Azure Load Testing.

  2. En el panel izquierdo, seleccione Pruebas para ver la lista de pruebas de carga y seleccione la que desee.

    Screenshot que muestra la lista de pruebas de un recurso de Azure Load Testing.

  3. Seleccione los puntos suspensivos (...) que hay junto a la serie de pruebas con la que trabaje y, después, seleccione Descargar archivo de entrada.

    El explorador descarga una carpeta comprimida que contiene los archivos de entrada de pruebas de carga.

    Recorte de pantalla en la que se muestra cómo descargar el archivo de resultados de una serie de pruebas de carga.

  4. Use cualquier herramienta zip para extraer los archivos de entrada.

    La carpeta contiene los archivos siguientes:

    • config.yaml: el archivo de configuración YAML de prueba de carga. Haga referencia a este archivo en la definición de flujo de trabajo de CI/CD.
    • .jmx o .py: Script de prueba de JMeter o Locust
    • Cualquier archivo de entrada adicional, como archivos .csv o archivos de propiedades de usuario necesarios para ejecutar la prueba de carga.
  5. Confirme todos los archivos de entrada extraídos en el repositorio de control de código fuente.

    Use el repositorio de código fuente en el que se configura la canalización de CI/CD.

Actualización de la definición de flujo de trabajo de CI/CD

Azure Load Testing admite tanto Acciones de GitHub como Azure Pipelines para ejecutar pruebas de carga.

Instalación de la extensión Azure Load Testing para Azure DevOps

Para crear y ejecutar una prueba de carga, la definición de flujo de trabajo de Azure Pipelines usa la extensión Azure Load Testing tarea desde Azure DevOps Marketplace.

  1. Abra la extensión de tarea Azure Load Testing en Azure DevOps Marketplace y seleccione Get it free.

  2. Seleccione la organización de Azure DevOps y, a continuación, seleccione Install para instalar la extensión.

    Si no tiene privilegios de administrador para la organización de Azure DevOps seleccionada, seleccione Request solicitar a un administrador que instale la extensión.

Actualización del flujo de trabajo de Azure Pipelines

Actualice el flujo de trabajo de Azure Pipelines para ejecutar una prueba de carga para el recurso de pruebas de carga de Azure.

  1. Inicie sesión en la organización de Azure DevOps (https://dev.azure.com/<your-organization>) y seleccione el proyecto.

  2. Seleccione Canalizaciones en el panel de navegación izquierdo, seleccione la canalización y, a continuación, seleccione Editar para editar la definición del flujo de trabajo.

    Como alternativa, seleccione Crear canalización para crear una nueva canalización en Azure Pipelines.

  3. Use la tarea AzureLoadTest para ejecutar la prueba de carga.

    Especifique el archivo de configuración de prueba de carga que exportó anteriormente en la propiedad loadTestConfigFile.

    Reemplace los marcadores de posición de <load-testing-resource> y <load-testing-resource-group> por el nombre del recurso de prueba de carga de Azure y el grupo de recursos.

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

    Opcionalmente, puede pasar parámetros o secretos a la prueba de carga mediante la propiedad env o secrets. Establézcalo waitForCompletion: false en si desea continuar sin esperar a que se complete la ejecución de la prueba de carga.

  4. Use la tarea publish para publicar los resultados de la prueba como artefactos en la ejecución del flujo de trabajo de Azure Pipelines.

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

Visualización de resultados de pruebas de carga

Al ejecutar una prueba de carga desde la canalización de CI/CD, podrá ver los resultados del resumen directamente en el registro de salida de CI/CD. Si publicó los resultados de la prueba como un artefacto de canalización, también podrá descargar un archivo .csv para generar informes adicionales.

Recorte de pantalla que muestra la información del registro del flujo de trabajo.

Limpieza de recursos

Si no planea usar ninguno de los recursos que ha creado, elimínelos para no incurrir en cargos.

  1. Quite Azure Pipelines cambios:

    1. Inicie sesión en la organización de Azure DevOps (https://dev.azure.com/<your-organization>) y seleccione el proyecto.

      Reemplace el marcador de posición de texto <your-organization> por el identificador del proyecto.

    2. Si creó una nueva canalización":

      1. Seleccione Canalizaciones y elija la canalización.

      2. Seleccione los puntos suspensivos y, a continuación, seleccione Eliminar.

        Screenshot que muestra cómo eliminar una definición de Azure Pipelines.

      3. Escriba el nombre de la canalización y, a continuación, seleccione Eliminar para eliminar la canalización.

    3. Si modificó una definición de flujo de trabajo existente, deshaga las modificaciones para ejecutar la prueba de carga y guarde el flujo de trabajo.

  2. Quite la conexión de servicio:

    1. Seleccione Project settings>Service connections y seleccione la conexión de servicio.
    2. Seleccione Editar>Eliminar para quitar la conexión de servicio.

Pasos siguientes

Pase al siguiente artículo para aprender a identificar las regresiones de rendimiento mediante la definición de criterios de error de prueba y la comparación de series de pruebas.