M365Con 2027 – conferencia online gratuita · 11–22 Jan 2027 · 120 sessions→ m365con.net

Blog · Mirko Peters

Por qué los despliegues manuales en el portal te están costando los fines de semana

By ·

Imagínate esto: es viernes por la tarde y estás a punto de apagar el portátil para el fin de semana. De repente, un mensaje de pánico llega a tu teléfono. Se ha subido una corrección crítica de producción a través del portal de Power Platform, ahora la mitad de los flujos de trabajo están rotos, falta un registro de plug-in vital y la base de datos de usuarios genera errores silenciosos. En lugar

Automatically translated with AI from the original post. Read the English original

▶ BLOGWhy Manual PortalDeployments Are Costing…M365.FM
Titelbild: Why Manual Portal Deployments Are Costing You Weekends

Imagínate esto: es viernes por la tarde y estás a punto de apagar el portátil para el fin de semana. De repente, un mensaje de pánico llega a tu teléfono. Se ha subido una corrección crítica de producción a través del portal de Power Platform, ahora la mitad de los flujos de trabajo están rotos, falta un registro de plug-in vital y la base de datos de usuarios genera errores silenciosos. En lugar de descansar, pasas las siguientes cuarenta y ocho horas buscando a mano las dependencias que faltan y arrastrando archivos zip a un entorno de producción. ¿Te suena familiar? Si dependes únicamente de los despliegues manuales en el portal, estás jugando a una peligrosa ruleta de despliegues.

En este artículo vamos a analizar en profundidad por qué abandonar los despliegues manuales desde la interfaz en favor de un enfoque basado en scripts y en código, usando la Power Platform CLI (PAC CLI), te ahorrará los fines de semana, garantizará una gobernanza real y devolverá la previsibilidad a tus ciclos de publicación. Esta guía escrita amplía los conceptos que tratamos en nuestro episodio de podcast relacionado, Build Reusable Components with Power Platform CLI. ¡No dejes de escucharlo para una inmersión en audio en estas mismas estrategias de herramientas!

Puntos clave

  • El portal es ideal para construir, no para despliegues repetibles.
  • PAC CLI te ofrece empaquetado con scripts, validación de dependencias y despliegues auditables.
  • Úsalo junto al portal: perfiles de autenticación más seguros, soluciones administradas, plug-ins automatizados y CI/CD.
  • Resultado: publicaciones predecibles, menos correcciones urgentes, recuperación más rápida y gobernanza real.

Por qué importa PAC CLI

Cuando gestionas soluciones de low-code y pro-code en entornos empresariales, la coherencia lo es todo. Los procesos de despliegue manuales son propensos a errores humanos, configuraciones olvidadas y falta de auditabilidad. Adoptar la interfaz de línea de comandos de Power Platform transforma la forma en que trabaja tu equipo:

  • Coherencia: automatiza exactamente los mismos pasos de DEV a QA y a PROD, eliminando el síndrome del "en mi máquina funcionaba".
  • Portabilidad: las soluciones administradas con referencias explícitas acaban de raíz con las sorpresas de "componente que falta".
  • Trazabilidad: los registros y el control de versiones explícito dejan todo tu proceso de despliegue listo para auditoría.
  • Velocidad con seguridad: elimina por completo el retrabajo manual e incorpora reversiones automáticas y puntos de validación.

Configuración segura (sin romper lo que funciona)

Pasar a un flujo de trabajo basado en CLI no significa que tengas que tirar por la borda tu configuración de entorno actual. Puedes ejecutarlo de forma segura junto a tus prácticas de creadores existentes.

  1. Instala PAC CLI, idealmente en un entorno aislado como una máquina virtual de pruebas o un contenedor de desarrollo.
  2. Crea perfiles de autenticación por inquilino y entorno para asegurarte de que nunca apuntas por error a la base de datos equivocada: pac auth create --name "Contoso-DEV" --url https://orgdev.crm.dynamics.com pac auth create --name "Contoso-QA" --url https://orgqa.crm.dynamics.com pac auth select --name "Contoso-DEV" pac auth list
  3. Comprobaciones previas (dry-run) para verificar el destino antes de ejecutar cualquier comando: pac org who pac solution list Verifica que estás en el entorno correcto antes de tocar nada.

Flujo de empaquetado de soluciones (comandos principales)

Una canalización de publicación predecible depende de estandarizar cómo se crean, empaquetan y envían las soluciones. Estos son los comandos principales que necesitas dominar:

  • Inicializa el repositorio de la solución: pac solution init --publisher-name Contoso --publisher-prefix cts
  • Añade referencias para tus aplicaciones, flujos, plug-ins y recursos web: pac solution add-reference --path ./src/plugins/Contoso.Plugins.csproj pac solution add-reference --path ./src/canvasApps/TimeOffApp.msapp
  • Empaqueta (compila) los archivos de salida: pac solution pack --zipfile ./out/Contoso.TimeOff_1_2_0_managed.zip --processCanvasApps
  • Exporta desde DEV si estás trayendo los cambios de los creadores: pac solution export --name Contoso_TimeOff --path ./out --managed true
  • Importa a QA/PROD de forma segura: pac auth select --name "Contoso-QA" pac solution import --path ./out/Contoso.TimeOff_1_2_0_managed.zip --publish-changes true --activate-plugins true

Consejo práctico: Mantén un versionado riguroso (por ejemplo, 1.2.0 para funcionalidades y 1.2.1 para correcciones urgentes). Etiqueta tus compilaciones de forma limpia en git.

Plug-in DevOps (sin registro manual)

Una de las mayores causas de despliegues fallidos en fin de semana es la temida herramienta de registro manual de plug-ins. Olvidar registrar un paso o apuntar a una versión antigua del ensamblado arruina los entornos de producción al instante.

  • Compila y registra mediante CLI directamente en tus pipelines automatizados: pac plugin init # una sola vez, para generar la estructura pac plugin push # registra/actualiza el ensamblado del plug-in y sus pasos según la configuración
  • Entre las ventajas están la ejecución coherente de los pasos en todos los entornos, registros de errores útiles y reversiones sencillas, simplemente volviendo a publicar una compilación anterior.

Esqueleto de CI/CD (Azure DevOps/GitHub Actions)

Para dejar de depender de despliegues manuales de verdad, necesitas un pipeline automatizado. Esta es una estructura de etapas estándar para Azure DevOps o GitHub Actions:

Etapas

  1. Build: restaura las dependencias, compila los plug-ins y ejecuta pac solution pack.
  2. Validate: ejecuta pac solution check (Solution Checker), las pruebas unitarias y el análisis de código (lint).
  3. Deploy to QA: ejecuta pac solution import, publica los cambios y lanza las pruebas de humo automatizadas.
  4. Gate: exige aprobaciones manuales y comprobaciones de estado.
  5. Deploy to PROD: ejecuta exactamente los mismos pasos scripteados y etiqueta la versión en git.

Variables clave

  • ENV_URL, CLIENT_ID, TENANT_ID y SECRET (o certificados) deben almacenarse de forma segura en Key Vault o en los secretos de GitHub Actions.
  • Las referencias de conexión y las variables de entorno deben rellenarse después de la importación mediante scripts automatizados.

Variables de entorno y referencias de conexión

Codificar URLs o datos de conexión en las soluciones es una receta para el desastre. En su lugar:

  • Mantén las variables de entorno y las referencias de conexión fuera del contenido de la solución y defínelas por entorno en el pipeline de despliegue:
    • Asigna las referencias de conexión directamente a los conectores de producción.
    • Define dinámicamente las URL de API, los identificadores de sitio, los identificadores de equipo y las marcas de funcionalidad.
  • Automatiza esto con PowerShell o scripts de PAC justo después de la importación de la solución para evitar fallos silenciosos en tiempo de ejecución.

Errores habituales y soluciones

  • Inquilino/entorno incorrecto → Verifica siempre con pac org who y utiliza perfiles de autenticación con nombre.
  • Dependencias que faltan → Usa pac solution add-reference y empaqueta; deja que la CLI falle pronto, durante la fase de compilación, en lugar de en la importación a producción.
  • Sin administrar en PROD → Usa soluciones administradas exclusivamente en los entornos superiores; prueba siempre las desinstalaciones y las reversiones.
  • Plug-ins manuales → Automatiza tus registros con scripts; deja de hacer cargas puntuales desde el portal.
  • Desviación (DEV ≠ PROD) → Versiona cada paquete de forma estricta y prohíbe las modificaciones solo en el portal en los entornos superiores.
  • Secretos en YAML → Usa Key Vault o los secretos de Actions, y prefiere los certificados a los secretos de cliente siempre que sea posible.

Puertas de calidad (comprobaciones rápidas que salvan fines de semana)

  • Solution Checker integrado directamente en tu pipeline de CI mediante pac solution check.
  • Pruebas de humo tras el despliegue: lanza automáticamente un flujo clave, crea un registro de prueba y verifica que tu plug-in se ha ejecutado correctamente.
  • Plan de reversión: conserva siempre a mano el último archivo zip administrado que funcionaba y automatiza las rutinas de reimportación en caso de fallo.

Lista de verificación de gobierno

  • 📦 Soluciones administradas solo en los entornos de QA y PROD
  • 🔐 Key Vault/secretos combinados con autenticación por certificado para las conexiones de servicio
  • 🧭 Perfiles de autenticación con nombre por entorno; nada de apuntar a "default"
  • 🧩 Referencias de conexión y variables de entorno scripteadas tras la importación
  • 🧪 Solution Checker y pruebas de humo ejecutados en cada despliegue
  • 🗂️ Versionado estricto, etiquetas de versión y registros de cambios por solución
  • 📜 Registros de despliegue conservados para cumplimiento y auditoría

Preguntas frecuentes

¿Tengo que abandonar el portal?
No. Mantén el portal para construir y crear prototipos; usa PAC CLI para el empaquetado, el despliegue y el gobierno empresarial.

¿Pueden los makers usar esto sin mucho DevOps?
Sí, los makers pueden empezar con exportaciones e importaciones sencillas con scripts y, con el tiempo, avanzar gradualmente hacia pipelines completos de CI/CD.

¿Qué pasa con los plug-ins de Dataverse?
Trátalos como cualquier otro código de software: compílalos, versiónalos y regístralos con PAC CLI como parte de tu pipeline de despliegue principal.

Al dejar atrás los clics manuales en el portal y apostar por PAC CLI, no solo blindarás tu proceso de publicación, sino que también recuperarás por fin tus fines de semana. Para saber más sobre cómo configurar estas herramientas y optimizar tu arquitectura low-code, no dejes de escuchar el episodio completo en Build Reusable Components with Power Platform CLI!

Entities in this article

Power Platform CLI Power Platform Dynamics 365 Azure Key Vault Governance Azure DevOps Container DevOps GitHub Actions Traceability

Related articles

RSS