La pipeline de la imagen superior es una real con código real de un cliente pero no puedo compararlo con las hospedadas en Azure porque en estas no hay sincronización, ni tests y necesitan instalar primero los nugets.
Pero una comparación que si hice fue esta:
Tarda sobre 1 hora en crearla VM, compilar, hacer una sincronización completa de la DB, desplegar informes, ejecutar tests, generar el Deployable Package y, finalmente, borrar la VM:
Si no desplegamos reports ganaremos 15 minutos más y se quedará en unos 45 minutos.
Si usamos el partial sync en vez de hacer una sincronización completa ganaremos entre 5 y 7 minutos.
Esto nos dejaría con una build de 35-40 minutos.
Comparativa 1 #
La imagen muestra un paquete simple que se compila, sin tablas, así que el selective sync termina muy rápido. Los tiempos de build mejoran con el tamaño de la VM.
Comparativa 2 #
Esta compila la misma base de código pero hace una sincronización de toda la DB. El tiempo de sincronización mejora en la B4ms respecto una B2ms, pero es casi el mismo en una B8ms. Los tiempos de compilación son mejores cuanto más potente es la VM.
Comparativa 3 #
Y la imagen de arriba muestra algo más realista. Hay mucho más código que compilar y hacemos una sincronización completo de la DB.
De forma similar a la anterior comparativa, hay una mejora notable en el salto de una B2ms a una B4ms, pero no tanto de una B4ms a una B8ms.