ALM con Azure DevOps

Completado

Los arquitectos de soluciones lideran el esfuerzo para definir el proceso de cómo se promoverán los cambios desde el desarrollo hasta la producción. Este esfuerzo incluye definir el número de fases, como desarrollo > prueba> producción, y los procesos para realizar la promoción, independientemente de si se realiza de forma manual o automatizada.

Microsoft está creando herramientas para respaldar este proceso con Microsoft Azure DevOps mediante el uso de integración continua (CI) e implementación continua (CD).

En esta sección se proporciona una descripción general de Azure DevOps y cómo se puede utilizar DevOps con Microsoft Power Platform para automatizar las implementaciones.

Azure DevOps

Azure DevOps proporciona servicios de desarrollador para que los equipos de soporte planifiquen el trabajo, colaboren en el desarrollo de código y creen e implementen aplicaciones.

Diagrama en el que se muestra la colaboración en Azure DevOps

Azure DevOps cuenta con muchas características para ayudar en el desarrollo de aplicaciones:

  • Azure Boards: planifique, realice un seguimiento y analice el trabajo en sus equipos.
  • Azure Pipelines: utilice este característica para automatizar la integración y la implementación continuas (CI/CD) de versiones y lanzamientos.
  • Azure Repos: control de código fuente para almacenar y realizar un seguimiento de los cambios.
  • Azure Test Plans: planifique, implemente y realice un seguimiento de pruebas generadas por script.
  • Azure Artifacts: publique soluciones creadas por canalizaciones de compilación.

Canalizaciones

Power Apps crea herramientas para automatizar las tareas comunes de compilación e implementación relacionadas con Power Apps mediante Azure Pipelines.

Las canalizaciones de compilación se pueden utilizar para:

  • Crear entornos de desarrollo.
  • Confirmar los cambios desde el desarrollo hasta el control de código fuente.
  • Habilitar la herramienta Comprobador de soluciones.
  • Realizar pruebas automatizadas.
  • Crear soluciones de salida a partir del control de código fuente (por ejemplo, administrado o no administrado).

Las canalizaciones de versión se pueden utilizar para:

  • Tomar soluciones de las canalizaciones de compilación e implementarlas en uno o varios entornos de prueba o de producción.
  • Realizar pruebas automatizadas como parte del proceso de lanzamiento.
  • Pausar las aprobaciones antes de pasar al siguiente entorno.

Las tareas de Microsoft Power Platform Build Tools se pueden utilizar junto con cualquier otra tarea disponible de Azure DevOps para crear las canalizaciones de compilaciones y de versiones. Entre las canalizaciones que los equipos suelen establecer se incluyen Iniciar, Exportar desde Desarrollo, Compilar y Liberar.

Diagrama de Azure DevOps con Microsoft Power Platform

Metodologías de implementación

Al implementar soluciones a través de una canalización de versiones, se debe tomar la decisión de impulsar la versión de forma manual o automática. Las ejecuciones de la canalización de versiones puede iniciarlas manualmente un usuario de Azure DevOps, se ejecutan automáticamente en una programación o se desencadenan mediante una solicitud de incorporación de cambios. La implementación continua se puede habilitar en una canalización de versiones para impulsar la última versión de la solución a otros entornos tan pronto como la versión esté disponible.

Para los break/fix inmediatos para una solución, es probable que un desencadenador manual sea el método preferido para hacer que la versión más reciente esté disponible en los entornos ascendentes lo más rápido posible, mientras que un desencadenador programado o de solicitud de incorporación de cambios tenga más sentido cuando se realizan las actualizaciones de las soluciones periódicamente.

Captura de pantalla de implementación continua de desencadenadores de versiones y desencadenadores de solicitudes de incorporación de cambios

Captura de pantalla de desencadenadores de canalización de versiones, desencadenador de versiones programadas

Piense en este ejemplo:

Contoso Bank tiene un equipo de desarrolladores que trabajan en una compleja solución Power Platform que debe enviarse a través de varias fases de pruebas antes de llegar a la producción. El equipo de desarrollo utiliza metodologías ágiles para sus proyectos de desarrollo y aplica un patrón regular de ciclos de compilación y lanzamiento. Por esta razón, el equipo de desarrollo de Contoso Bank usa el desencadenador de canalización de versiones programadas, donde la programación se basa en sus ciclos de sprint predefinidos. Este es un enfoque automatizado para impulsar lanzamientos.

Sin embargo, si se detecta un error importante en un entorno de UAT, los desarrolladores pueden optar por corregir el error con una nueva compilación y desencadenar la canalización de versiones manualmente para que las pruebas en el entorno UAT puedan continuar lo más rápido posible.

Quizá Contoso Bank está ejecutando un proyecto más pequeño sin plazos estrictos para los ciclos de versiones. En ese caso, podría ser preferible usar un desencadenador manual para la canalización de versiones porque no hay un ritmo regular cuando hay nuevas compilaciones disponibles.

Para obtener más información sobre el uso de DevOps para pasar de ALM manual a automatizado, y ver prácticas recomendadas sobre la metodología de implementación adecuada para usted, consulte Uso de DevOps para pasar de ALM manual a automatizado.

Otras herramientas de automatización

Otras opciones para automatizar implementaciones sin usar Azure DevOps son:

  • Se pueden utilizar Dataverse y las API de administración para automatizar desde cualquier lenguaje compatible.
  • Se puede usar PowerShell en lugar de tareas de compilación para tener más control.
  • Se puede utilizar Power Automate con los conectores de administración de la plataforma para automatizar las implementaciones.
  • Las acciones de GitHub se encuentran actualmente en versión preliminar.