Continuous Testing y Orbe de CircleCI

Ejecuta tests Synthetic Datadog en tus pipelines CircleCI utilizando el orbe de CircleCI Datadog.
Para más información sobre la configuración disponible, consulta la documentación datadog-ci synthetics run-tests.
Ajustes
Para empezar:
- Añade tus claves de API y de aplicación Datadog como variables de entorno a tu proyecto CircleCI.
- Asegúrate de que la imagen que ejecuta el orbe es una imagen basada en Linux-x64 con
curl instalado. - Personaliza tu flujo de trabajo CircleCI añadiendo un paso
synthetics-ci/run-tests y especificando entradas como se indica a continuación.
Tu flujo de trabajo puede ser simple o complejo.
Uso sencillo
Ejemplo de uso del orbe con ID públicos
version: 2.1
orbs:
synthetics-ci: datadog/synthetics-ci-orb@5.3.0
jobs:
e2e-tests:
docker:
- image: cimg/base:stable
steps:
- synthetics-ci/run-tests:
public_ids: |
abc-d3f-ghi
jkl-mn0-pqr
workflows:
run-tests:
jobs:
- e2e-tests
Ejemplo de uso del orbe con una sustitución global de la configuración
Este orbe sustituye la ruta al patrón para archivos de test.
version: 2.1
orbs:
synthetics-ci: datadog/synthetics-ci-orb@5.3.0
jobs:
e2e-tests:
docker:
- image: cimg/base:stable
steps:
- synthetics-ci/run-tests:
files: e2e-tests/*.synthetics.json
workflows:
run-tests:
jobs:
- e2e-tests
Para ver otro ejemplo de pipeline que activa tests Synthetic, consulta el archivosimple-example.yml.
Uso complejo
Ejemplo de uso del orbe con la test_search_query
version: 2.1
orbs:
synthetics-ci: datadog/synthetics-ci-orb@5.3.0
jobs:
e2e-tests:
docker:
- image: cimg/base:stable
steps:
- synthetics-ci/run-tests:
test_search_query: 'tag:e2e-tests'
workflows:
run-tests:
jobs:
- e2e-tests
version: 2.1
orbs:
synthetics-ci: datadog/synthetics-ci-orb@5.3.0
jobs:
e2e-tests:
docker:
- image: your-image
steps:
- checkout
- run:
name: Running server in background
command: npm start
background: true
- synthetics-ci/run-tests:
config_path: tests/tunnel-config.json
files: tests/*.synthetics.json
test_search_query: 'tag:e2e-tests'
tunnel: true
workflows:
test-server:
jobs:
- build-image
- integration-tests:
requires:
- build-image
Para opciones adicionales como la personalización de batchTimeout para tus pipelines CircleCI, consulta la configuración de integraciones CI/CD. Para ver otro ejemplo de pipeline que inicia un servidor local y activa tests Synthetic utilizando el túnel de Continuous Testing, consulta el archivo advanced-example.yml.
Entradas
Para obtener más información sobre la configuración disponibles, consulta la documentación datadog-ci synthetics run-tests.
| Nombre | Descripción |
|---|
api_key | Nombre de la variable de entorno que contiene tu clave de API Datadog. Esta clave se crea en tu organización Datadog y debe almacenarse como secreto. Por defecto: DATADOG_API_KEY |
app_key | Nombre de la variable de entorno que contiene tu clave de aplicación Datadog. Esta clave se crea en tu organización Datadog y debe almacenarse como secreto. Por defecto: DATADOG_APP_KEY |
background | Si este paso debe ejecutarse o no en segundo plano. Consulta la documentación oficial de CircleCI. Por defecto: false |
batch_timeout | Especifica la duración del tiempo de espera en milisegundos para el lote CI. Cuando se agota el tiempo de espera de un lote, el trabajo de CI falla y no se activan nuevas ejecuciones de tests, pero las ejecuciones de tests en curso se completan normalmente. Por defecto: 1800000 (30 minutos) |
config_path | La ruta al archivo de configuración global que configura datadog-ci. Por defecto: datadog-ci.json |
datadog_site | Tu sitio Datadog. Los valores posibles se indican en esta tabla. Por defecto: datadoghq.com
Configúralo en (asegúrate de seleccionar el SITIO correcto a la derecha). |
fail_on_critical_errors | Falla el trabajo de CI, si se produce un error crítico que suele ser transitorio, como límites de frecuencia, fallos de autenticación o problemas en la infraestructura Datadog. Por defecto: false |
fail_on_missing_tests | Falla el trabajo CI, si la lista de tests a ejecutar está vacío o si faltan algunos tests explícitamente mencionados. Por defecto: false |
fail_on_timeout | Falla el trabajo de CI, si el lote de CI falla por un tiempo de espera excedido. Por defecto: true |
files | Patrones glob para detectar archivos de configuración de tests Synthetic, separados por nuevas líneas. Por defecto: {,!(node_modules)/**/}*.synthetics.json |
junit_report | Nombre de archivo de un informe JUnit, si quieres generar uno. Por defecto: ninguno |
locations | Sobrescribe la lista de ubicaciones desde las que ejecutar tests, separadas por nuevas líneas o comas. Los valores posibles se indican en esta respuesta de API. Por defecto: ninguno |
no_output_timeout | Tiempo transcurrido que el comando puede ejecutarse sin resultado. La cadena es un decimal con sufijo de unidad, como 20m, 1.25h, 5s. Consulta la documentación oficial de CircleCI. Por defecto: 35m |
public_ids | ID públicos de los tests Synthetic que deben ejecutarse, separados por nuevas líneas o comas. Si no se proporciona ningún valor, los tests se detectan en archivos de configuración de tests Synthetic. Por defecto: ninguno |
selective_rerun | Si solo se vuelven a ejecutar los tests fallidos. Si un test ya se ha aprobado para una confirmación dada, no se vuelve a ejecutar en los siguientes lotes de CI. Por defecto, se utiliza la configuración por defecto de tu organización. Configúralo en false para forzar ejecuciones completas cuando tu configuración lo habilite por defecto. Por defecto: ninguno |
subdomain | Subdominio personalizado para acceder a tu organización Datadog. Si tu URL es myorg.datadoghq.com, el subdominio personalizado es myorg. Por defecto: app |
test_search_query | Utiliza una consulta de búsqueda para seleccionar los tests Synthetic que se van a ejecutar. Utiliza la barra de búsqueda de la página con la lista de tests Synthetic para crear tu consulta y, a continuación, cópiala y pégala. Por defecto: ninguno |
tunnel | Utiliza el túnel de Continuous Testing para iniciar tests en entornos internos. Por defecto: false |
variables | Sobrescribe las variables existentes o inyecta nuevas variables locales y globales en tests Synthetic como pares clave-valor, separados por nuevas líneas o comas. Por ejemplo: START_URL=https://example.org,MY_VARIABLE=My title. Por defecto: ninguno |
Referencias adicionales
Documentación útil adicional, enlaces y artículos: