5.2 Application Lifecycle Management (ALM) en Code Apps

Mejores prácticas para gestionar el ciclo de vida de la aplicación, control de versiones, y automatización con CI/CD (GitHub Actions / Azure DevOps).

Desplegar a mano desde tu portátil está bien para empezar o para proyectos de una sola persona, pero no es la forma en que los equipos profesionales de software entregan valor. El Application Lifecycle Management (ALM) es fundamental, y las Code Apps se integran perfectamente en los pipelines de CI/CD corporativos.

Objetivos de aprendizaje

  • Comprender el ciclo de vida completo (ALM) de una Code App
  • Conocer cómo automatizar el despliegue mediante CI/CD (GitHub Actions / Azure DevOps)
  • Aprender el papel de Service Principals en la autenticación desatendida
  • Entender cómo mover soluciones entre entornos usando pipelines

 

El flujo ALM con Code Apps

El ciclo de vida ideal de una Code App, al igual que cualquier desarrollo profesional, debe seguir estos pasos fundamentales:

  1. El código fuente y las definiciones de los componentes de Power Platform se almacenan en un repositorio de control de versiones (Git).
  2. Cada desarrollador trabaja en una rama, prueba en su entorno de desarrollo local o personal, y sube el código (Pull Request).
  3. Un pipeline de CI (Integración Continua) compila el código, ejecuta los tests (Vitest) y verifica la calidad del código.
  4. Un pipeline de CD (Despliegue Continuo) se encarga de subir los cambios al entorno de integración (o test) empaquetando la solución y desplegándola.
  5. Tras la validación, la solución gestionada se promueve al entorno de Producción.

A diferencia de las Canvas Apps tradicionales, donde a veces es difícil rastrear diferencias, las Code Apps son código puro (React/TypeScript), por lo que las revisiones de código (Code Reviews) en GitHub o Azure DevOps son totalmente naturales y efectivas.

Autenticación desatendida: Service Principals

Para que un sistema de CI/CD como GitHub Actions pueda interactuir con tu entorno de Power Platform (para empaquetar o desplegar la app), no puede usar un inicio de sesión interactivo con usuario y contraseña. Necesita una identidad técnica.

Aquí es donde entra el Service Principal (App Registration en Microsoft Entra ID). Debes crear uno, concederle permisos en tu entorno de Power Platform (normalmente asignándole el rol de System Administrator temporalmente durante el pipeline o un rol personalizado de despliegue), y guardar sus credenciales (Application ID, Tenant ID, y Client Secret) como "Secretos" en tu sistema de CI/CD.

El pipeline se autenticará así:

pac auth create --applicationId ${{ secrets.APP_ID }} --clientSecret ${{ secrets.CLIENT_SECRET }} --tenant ${{ secrets.TENANT_ID }}

 

Estructura de un pipeline básico

Ya sea en GitHub Actions o Azure DevOps, los pasos lógicos del pipeline para desplegar la Code App son:

  1. Checkout del código: Traer el código fuente del repositorio.
  2. Instalar dependencias: Ejecutar npm ci para instalar los paquetes Node.
  3. Tests y Linting: (Opcional pero recomendado) Ejecutar npm run test y npm run lint.
  4. Build: Ejecutar npm run build para compilar la aplicación.
  5. Autenticación: Usar PAC CLI y el Service Principal para conectar al entorno destino.
  6. Deploy de la Code App: Ejecutar el comando equivalente a npm run push (o usar las Power Platform Build Tools) para subir los archivos de la app.
  7. Empaquetar e Importar Solución: Si se maneja toda la solución, usar pac solution pack para crear el ZIP gestionado y pac solution import en el entorno destino.

Power Platform Build Tools

Microsoft proporciona extensiones oficiales tanto para Azure DevOps (Power Platform Build Tools) como para GitHub (Power Platform GitHub Actions). Estas herramientas encapsulan los comandos de PAC CLI en tareas/acciones fáciles de configurar en la interfaz de usuario, simplificando enormemente la creación de pipelines sin tener que escribir comandos de consola manualmente.

Consejo práctico: Las Code Apps pueden ser grandes por los bundles de React. Optimiza tu pipeline haciendo caché de la carpeta node_modules. Esto puede reducir el tiempo del pipeline de minutos a unos pocos segundos.

 

Puntos clave

  • El ALM profesional es clave para Code Apps: Git es la única fuente de verdad.
  • Las revisiones de código (Code Reviews) son efectivas porque es código tradicional.
  • Usa Service Principals para la autenticación desatendida en pipelines de CI/CD.
  • Power Platform Build Tools (en DevOps/GitHub) facilitan la creación de los pipelines.
  • El pipeline ideal incluye: compilación, tests, empaquetado de la solución y despliegue a entornos.
Inicia sesión e inscríbete para guardar tu progreso.
En este curso
¿Te ha resultado útil?