Después de lo expuesto en la entrada anterior (enlace), continuamos profundizando en los Services Container de Azure DevOps Pipelines.
VeÃamos como podÃamos ejecutar en contenedor en el agente de Azure Pipelines para, por ejemplo, ejecutar un Redis del que hiciesen uso nuestros test de integración. Sin embargo, ¿y si quisiéramos esos test de integración contra diferentes versiones de Redis?
Matrix strategy + service container
Empecemos por definir varios container resources, uno por cada versión de Redis que queramos ejecutar, en nuestro caso las versiones 4, 5 y 6.
Ahora la estrategia matrix de azure pipelines (si no sabes que es echa un ojo a este enlace y este otro) hará su magia, ejecutando un job para cada valor pasado como variable a la "matrix".
Definiremos también un servicio, que usando el valor de la variable que nos pasa la estrategia matrix, "apuntará" a uno de los contenedores. El resultado es que en cada job ejecutaremos lo mismo (tests de integración por ejemplo), pero contra una versión de Redis diferente.
Y con esto, solo queda usar el servicio para "atacar" a cada versión de Redis, asà queda el pipeline completo:
Cuando se ejecuta el pipeline, veremos que los 3 jobs generados ejecutan lo mismo (en el ejemplo que estamos haciendo lanzar un ping a Redis, que contestará con un PONG
Si queréis verme hacer este ejemplo en vivo, os dejo un video en mi canal de YouTube:
Espero que os haya resultado de interés. Gracias!
Recursos:
Documentación oficial sobre la estrategia Matrix:
Documentación oficial sobre Service Containers:
No hay comentarios:
Publicar un comentario