Continuous Testing y CI/CD
Esta página trata sobre la ejecución de tests de Continuous Testing en tus pipelines de integración continua (CI) y de entrega continua (CD). Si deseas llevar tus métricas de CI/CD y los datos a dashboards de Datadog, consulta la sección
CI Visibility.
Además de ejecutar tests a intervalos predefinidos, puedes reutilizar tus tests de Datadog Synthetic y ejecutarlos bajo demanda utilizando el paquete @datadog/datadog-ci
o la API. Ejecuta tests de Datadog Continuous Testing en tus pipelines de integración continua (CI) para bloquear ramas y evitar que se desplieguen y rompan tu aplicación en producción.
Utiliza Continuous Testing y CI/CD para ejecutar también tests como parte de tu proceso de entrega continua (CD) y evaluar el estado de tus aplicaciones y servicios en producción inmediatamente después de que finalice un despliegue o esté recién lanzada una nueva versión. Puedes detectar posibles regresiones que puedan afectar a tus usuarios y activar automáticamente una reversión cuando falle un test crítico.
Esta funcionalidad reduce el tiempo dedicado a solucionar problemas en producción al detectar proactivamente errores y regresiones en una fase más temprana del proceso, lo que permite a tus equipos de ingeniería centrarse en tareas no urgentes.
Para empezar, consulta integraciones y usa la API o el paquete de CLI de código abierto.
Integraciones
With Continuous Testing and CI/CD, you can run Continuous Testing tests in any CI platform provider of choice. See the documentation for information about the following integrations, or read more about the Datadog CI NPM package:
Utilizar la CLI
El paquete @datadog/datadog-ci
te permite ejecutar tests de Continuous Testing directamente dentro de tu pipeline CI/CD. Para utilizar el paquete de NPM @datadog/datadog-ci
, consulta Configuración.
Puedes activar los tests buscando con etiquetas (tags). Por ejemplo, utiliza "ci": "datadog-ci synthetics run-tests --config fileconfig.json -s 'tag:staging'"
. Este comando funciona como argumento. No lo utilices en tus archivos de configuración.
En la API
Los endpoints de la API de Synthetics te permiten lanzar tests en cualquier etapa de tu ciclo de vida de presentación y despliegue. Por ejemplo, después de un despliegue canary con una reversión automatizada.
Utiliza los endpoints de la API para verificar rápidamente que un nuevo despliegue no introduce ninguna regresión. Consulta los endpoints Activar tests desde pipeline de CI/CD y Obtener detalles del lote para utilizarlos en tu CI mediante cURL o un cliente compatible.
Tests de activación de pipelines CI/CD
El endpoint de activación de tests admite hasta 100 tests en una solicitud.
- Endpoint:
https://api./api/v1/synthetics/tests/trigger/ci
- Método:
POST
- Argumento: un objeto JSON que contiene la lista de todos los tests a activar y tu anulación de configuración.
Estructura de datos de la solicitud
{
"tests": [TEST_TO_TRIGGER, TEST_TO_TRIGGER, ...]
}
Los objetos TEST_TO_TRIGGER
se componen de los campos public_id
necesarios para el test que deseas activar y las anulaciones de campos opcionales de configuración. Para obtener descripciones de cada campo, consulta Configurar tests.
El identificador público de un test es el identificador del test que se encuentra en la URL de la página de detalles de un test (por ejemplo: el identificador de https://app.datadoghq.com/synthetics/details/abc-def-ghi
es abc-def-ghi
) o la URL completa de la página de detalles de un test (por ejemplo: https://app.datadoghq.com/synthetics/details/abc-def-ghi
).
Para más información, consulta la Documentación del endpoint de la API Synthetics.
Obtener detalles del lote
El endpoint Obtener detalles del lote recupera los resultados del grupo de tests activados en tu canal de CI/CD, también conocido como lote. Debes proporcionar la dirección batch_id
para la ejecución de CI correspondiente.
- Endpoint:
https://api./api/v1/synthetics/ci/batch/{batch_id}
- Método:
GET
- Parámetros: la dirección
batch_id
para el lote de resultados de tests que deseas inspeccionar.
Para más información, consulta la Documentación del endpoint de la API Synthetics.
Para leer más
Más enlaces, artículos y documentación útiles: