Azure DevOps para tus desarrollos de Power BI (X). Pipeline de despliegue del modelo semántico

Mar Lizana
4 min readApr 16, 2024

--

¡Se acerca el final! Si llegas de nuevas, bienvenida a esa serie de artículos en los que esperamos que te introduzcas en el mundo de Azure DevOps, que será nuestro principal aliado en esta aventura. La semana pasada vimos como construir una pipeline que automatizaba los tests de buenas prácticas sobre nuestro modelo semántico. Esta semana toca ver como se despliega en el servicio. Con la bola extra de que también nos actualizará los datos.

Como son varios temas no queremos dejarte sin aliento, hemos preferido separarlos en artículos independientes. Nuestra intención es entregarte uno nuevo cada martes (o cada vez que podamos).

¡Ojo que lo estamos consiguiendo!

1. Introducción

2. ¿Qué es eso de DevOps?

3. Herramientas que vamos a usar

4. Qué podemos encontrar en Azure DevOps

5. Qué necesito para que esto funcione

6. Pipeline para descomprimir el report

7. Pipeline para las buenas prácticas del report

8. Pipeline de despliegue del report

9. Pipeline de buenas prácticas del modelo semántico

10. Pipeline de despliegue del modelo semántico ← ESTAMOS AQUÍ

11. Conclusiones

Esta serie de artículos los hemos escrito conjuntamente Adrià Belmonte y una servidora y son la fusión de juntar un arquitecto cloud con una ingeniera de datos.

¡Cualquier duda o propuesta de mejora no dudes en dejárnoslo en comentarios!

¡¡Vamos a ello!!

¿Qué vamos a necesitar?

Crear una pipeline

Lo primero, necesitaremos una nueva pipeline. Sí, otra más. Esta vez la crearemos en el repositorio de nuestro modelo semántico.

Hace unas semanas, con nuestra primera pipeline, vimos como se creaba. Te dejamos el enlace por aquí para que puedas revisarlo si lo necesitas.

Archivo BIM con el modelo semántico

Tienes varias forma de conseguir este archivo que incluye los metadatos de tu modelo:

  • Si desarrollas tu modelo desde Tabular Editor puedes exportar a BIM directamente.
  • Si desarrollas desde Power BI Desktop puedes guardar como PBIP y en la carpeta de dataset encontrarás este archivo.

Veamos la pipeline en detalle

Llegamos a la última pipeline relacionada con nuestro modelo semántico, concretamente la del despliegue, pero también a la última pipeline de esta saga de artículos que hemos escrito.

Para nuestro modelo semántico solo necesitaremos dos pipelines:

  • CI-Scan
  • CD-Deployment ← ESTAMOS AQUÍ :)

Como siempre, te dejamos el enlace al repositorio donde la vas a poder encontrar, no sin recomendarte que antes de copiar y pegar te tomes un momento para entender que hace cada bloque de código.

  1. Indicamos que la pipeline se ejecutará cada vez que se produzca un cambio en main. Los cambios en main SOLO deberían suceder cuando se complete una pull-request.

Nada de hot-fix, que nos conocemos ;)

2. Este parámetros nos permitirá indicar si queremos o no que se ejecute la acción que hemos definimos.

3. Utilizaremos los agentes públicos de ADO basados en Windows.

4. Definimos las variables que usaremos en esta ocasión.

  1. Descargamos la herramienta Tabular Editor.
  2. Utilizaremos Tabular Editor para realizar el despliegue de nuestro modelo semántico en el workspace de PowerBI.
  1. Utilizaremos la extensión de PowerBI Actions para realizar un refresco de nuestro modelo semántico una vez lo tengamos desplegado.

Hace unas semanas te explicamos cómo obtener esta aplicación desde el marketplace de Azure DevOps y cómo usarla. Te dejamos el enlace a mano por si lo necesitas :)

2. Limpiaremos nuestro entorno utilizado en el agente público.

Con la última parte has podido ver el motivo de tener el parámetro que hemos visto en la primera captura.

La intención es que por defecto, cada vez que se ejecute la pipeline por un cambio en main se ejecute la tarea de refresco. Este parámetro lo podemos ver mejor si intentamos ejecutar está pipeline de forma manual, donde podremos cambiar este valor.

Explicada la última parte, llegamos al final de las entradas técnicas. Si has llegado hasta aquí… ¡¡Felicidades!!

¿Qué veremos la próxima semana?

Nos acercamos al final…

¡Pero descuida! Nos queda un último articulo de conclusiones donde veremos los pros y contra de esta solución, que pueden resultarte útiles si quieres aplicarla en tu día a día. ¡Nosotros nos alegraríamos 😊!

← Pipeline de buenas prácticas del modelo semántico

Conclusiones→

--

--

Mar Lizana

Data & Analytics Lead Engineer @NTT Data | Microsoft Data Platform MVP