Información general

CircleCI Build Status CircleCI Orb Version Apache 2.0 License CircleCI Community

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:

  1. Añade tus claves de API y de aplicación Datadog como variables de entorno a tu proyecto CircleCI.
  2. Asegúrate de que la imagen que ejecuta el orbe es una imagen basada en Linux-x64 con curl instalado.
  3. 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

Ejemplo de uso del orbe utilizando el túnel de Continuous Testing

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.

NombreDescripción
api_keyNombre 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_keyNombre 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
backgroundSi este paso debe ejecutarse o no en segundo plano. Consulta la documentación oficial de CircleCI.
Por defecto: false
batch_timeoutEspecifica 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_pathLa ruta al archivo de configuración global que configura datadog-ci.
Por defecto: datadog-ci.json
datadog_siteTu 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_errorsFalla 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_testsFalla 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_timeoutFalla el trabajo de CI, si el lote de CI falla por un tiempo de espera excedido.
Por defecto: true
filesPatrones glob para detectar archivos de configuración de tests Synthetic, separados por nuevas líneas.
Por defecto: {,!(node_modules)/**/}*.synthetics.json
junit_reportNombre de archivo de un informe JUnit, si quieres generar uno.
Por defecto: ninguno
locationsSobrescribe 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_timeoutTiempo 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_idsID 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_rerunSi 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
subdomainSubdominio 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_queryUtiliza 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
tunnelUtiliza el túnel de Continuous Testing para iniciar tests en entornos internos.
Por defecto: false
variablesSobrescribe 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: