En este artículo te mostraré como enlazar la herramienta Synthetic Monitoring de
Datadog HQ
con la herramienta Pipelines de
Atlassian Bitbucket
y tener un panel de control completo de pruebas CI/CD.
DataDog Synthetic Monitoring
Esta herramienta permite automatizar pruebas en tus procesos de despliegue de aplicaciones ya sea en ambiente staging o producción.
En este ejemplo vamos a realizar una prueba básica a la página inicial de BoxMagic (https://go.boxmagic.app) mediante diferentes navegadores y dispositivos para que sean ejecutadas cada vez que se realiza un push en el repositorio del proyecto en Bitbucket.
Browser Test
Para comenzar ingresamos al panel de Datadog y seleccionamos el menú UX Monitoring / Synthetic Tests
Creamos un nuevo test de tipo Browser Test
Agregamos la URL donde se ejecutará el Test, en este caso será https://go.boxmagic.app (nuestra url inicial), agregamos el nombre y el ambiente. Luego seleccionamos que navegadores y dispositivos serán los que realizarán las pruebas.
Se pueden agregar las ubicaciones desde donde se realizarán las pruebas.
Por último configuramos la frecuencia en que se ejecutará esta prueba y además podemos configurar el monitoreo, alertas y permisos.
Pruebas
En este caso solo crearemos una prueba de Assertion / Test an element’s content que permite verificar el contenido de un elemento dentro de la página:
Solo debes hacer click en el elemento y completar los datos del formulario, en este caso se está comprobando si el div contenga la frase “Ingresa aquí”.
Seleccionamos Apply para finalizar y comenzar a ejecutar la prueba.
Api Keys y test public ID
Para que esta prueba pueda correr cada vez que se ejecute el pipeline de bitbucket debemos obtener 3 variables Public Test ID, APP Key y API Key.
El Public Test ID se obtiene seleccionando la prueba que acabamos de realizar
El APP Key y el API Key se obtienen dentro del menú Organization Settings donde debes crear un nuevo APP Key y un API Key.
NPM datadog-ci
Puedes ejecutar estas pruebas de forma local con npm para probar que estén correctamente configuradas.
Primero ejecutamos la instalación con npm
npm install -g @datadog/datadog-ci
Luego ejecutamos synthetics run-test con los parámetros que obtuvimos del paso anterior.
datadog-ci synthetics run-tests --public-id $DD_TEST_PUBLIC_ID --apiKey $DD_API_KEY --appKey $DD_APP_KEY
El resultado debería verse de esta forma si todas las pruebas se realizaron correctamente:
Bitbucket Pipeline
Con todas las pruebas configuradas solo nos hace falta agregarlas al pipeline de bitbucket para que sean ejecutadas cada vez que se realice un push al repositorio
Agregamos las variables de entorno a nuestro repositorio en bitbucket en Repository Setting / Repository variables
En el archivo bitbucket-pipeline.yml agregamos los comandos para ejecutar las pruebas.
pipelines:
default:
- step:
name: datadog-synthetics testing
image: node:15-alpine3.10
script:
- npm install -g @datadog/datadog-ci
- datadog-ci synthetics run-tests --public-id $DD_TEST_PUBLIC_ID --apiKey $DD_API_KEY --appKey $DD_APP_KEY
Una vez que realizas un push al repositorio debes ingresar al del menú Pipelines de bitbucket podrás ver la ejecución de las pruebas.
Puedes ver la realización de cada prueba en el panel de Datadog
También puedes ver la ejecución de las pruebas y en la columna RUN TYPE deberías poder observar que fueron ejecutadas por el pipeline de CI/CD
Eso es todo, ya puedes comenzar a crear todo tipo de pruebas dentro de datadog, se ejecutarán automáticamente en tu CI/CD y de esta forma te aseguras que cada push que se realice al repositorio deba pasar todas las pruebas para que se pueda desplegar en ambientes de staging o producción.
Top comments (0)