2.2 Desempaquetando Soluciones para Control de Versiones
Entiende cómo transformar archivos ZIP binarios en código de texto fusionable en Git.
Hemos llegado al núcleo del control de versiones en Power Platform. En este punto, dejaremos de tratar las soluciones como "cajas negras" ZIP y empezaremos a ver qué hay dentro de ellas.
Objetivos de aprendizaje
- Comprender el propósito de desempaquetar una solución.
- Usar
pac solution unpackpara extraer XML legibles. - Preparar tu código para Azure DevOps o GitHub.
El problema del archivo ZIP
Imagina que Carlos y María están trabajando en la misma solución. Carlos exporta la solución como un archivo ZIP. María exporta la suya. Ambos suben su archivo ZIP a GitHub. ¿Qué ocurre? Git ve dos archivos binarios completamente diferentes. No puede decirte qué líneas de código han cambiado, ni puede fusionar (merge) el trabajo de ambos.
Este es el mayor obstáculo para el ALM en Power Platform. No puedes hacer "control de versiones" real de un archivo ZIP.
Desempaquetando el misterio
La solución a este problema está integrada en PAC CLI mediante el Solution Packager. La idea es brillante: coger el archivo ZIP y descomponerlo en decenas de pequeños archivos XML individuales, uno para cada componente (una vista, un formulario, un campo de tabla).
Se hace así:
pac solution unpack --zipfile MiSolucion.zip --folder src\MiSolucion --packagetype Unmanaged
El resultado es una carpeta estructurada. Ahora, si abres el archivo XML de un formulario, verás su diseño en texto plano. Si subes esta carpeta a GitHub, Git podrá leer cada línea de XML. Cuando Carlos cambie un campo y María cambie otro, Git podrá fusionar ambos cambios automáticamente.
El camino inverso
Obviamente, Dataverse no sabe importar una carpeta llena de archivos XML. Por lo tanto, cuando tus pipelines en la nube descargan el código fusionado de GitHub, usan el comando inverso para reconstruir el ZIP antes de importarlo al entorno de pruebas:
pac solution pack --zipfile MiSolucion_compilada.zip --folder src\MiSolucion --packagetype Unmanaged
Puntos clave
- Los sistemas de control de versiones no entienden los archivos ZIP binarios.
pac solution unpacktraduce tu personalización a archivos XML legibles y fusionables.- Esta herramienta es la piedra angular que hace posible el ALM profesional y el trabajo simultáneo de múltiples desarrolladores.