Recomendaciones para la integración continua
Se aplica a esta recomendación de la lista de verificación de Excelencia Operacional Bien Diseñada: Power Platform
OE:04 | Optimice los procesos de desarrollo y control de calidad de software siguiendo prácticas de desarrollo y pruebas contrastadas en el sector. Para una designación clara de roles, estandarice las prácticas en todos los componentes, como herramientas, control de código fuente, patrones de diseño de aplicaciones, documentación y guías de estilo. |
---|
La adopción de integración continua/entrega continua (CI/CD) puede aumentar la complejidad del desarrollo para los desarrolladores ciudadanos. Sin embargo, un proceso de desarrollo escalable y automatizado que pueda incorporar rápidamente nuevas características y corregir errores es fundamental para un proceso de desarrollo de fusión fiable y sostenible.
Como desarrollador, puede realizar pequeños cambios en el código, enviar estos cambios a un repositorio de código y obtener comentarios casi instantáneos sobre la calidad, la cobertura de las pruebas y los errores introducidos. Este proceso le permite trabajar más rápido, con más confianza y menos riesgo. La integración continua es una práctica en la que los sistemas de control de origen y los canales de implementación se integran para proporcionar mecanismos automatizados de compilación, prueba y retroalimentación para los equipos de desarrollo de software.
Estrategias clave de diseño
La integración continua es una práctica de desarrollo de software que los desarrolladores utilizan para integrar actualizaciones de software en un sistema de control de código fuente con un ritmo regular.
El proceso de integración continua comienza cuando un ingeniero crea una solicitud de extracción de GitHub para indicarle al sistema de CI que los cambios en el código están listos para integrarse. Idealmente, el proceso de integración valida el código comparándolo con varias líneas base y pruebas. Luego proporciona comentarios al ingeniero solicitante sobre el estado de estas pruebas.
Si las comprobaciones y pruebas de línea base van bien, el proceso de integración produce y organiza activos que implementan el software actualizado. Estos activos incluyen código compilado e imágenes de contenedores.
La integración continua puede ayudarle a entregar software de alta calidad más rápidamente realizando las siguientes acciones:
- Ejecute pruebas automatizadas con el código para proporcionar una detección temprana de cambios importantes.
- Ejecute análisis de código para garantizar estándares, calidad y configuración del código.
- Ejecute comprobaciones de cumplimiento y seguridad para garantizar que el software no incluya vulnerabilidades conocidas.
- Ejecute pruebas funcionales o de aceptación para garantizar que el software funcione como se espera.
- Proporcione comentarios rápidos sobre problemas detectados.
- Cuando corresponda, produzca activos o paquetes desplegables que incluyan el código actualizado.
Ambientes
La instalación y configuración del entorno son fundamentales para una CI/CD sostenible y fiable. Los entornos de Power Platform se pueden configurar para aislar diferentes etapas de desarrollo, prueba e implementación de soluciones. El proceso de CI/CD mueve los cambios a través de esas etapas. Establezca una estrategia ambiental con principios rectores para entornos de desarrollador.
Canalizaciones de integración continua
Para lograr integración continua, utilice herramientas para gestionar, integrar y automatizar el proceso. Una canalización de integración continua proporciona:
- Una plataforma para ejecutar pruebas automatizadas
- Análisis de cumplimiento
- Denunciando
- Todos los demás componentes que conforman el proceso de integración continua
En la mayoría de los casos, el software de canalización está conectado al control de origen de modo que cuando se crean solicitudes de extracción o se fusiona software en una rama específica, se ejecuta la canalización de integración continua. La integración del control de código fuente también brinda la oportunidad de enviar comentarios sobre CI directamente en las solicitudes de extracción.
Muchas soluciones, como Azure Pipelines o GitHub Actions, brindan las capacidades de canalizaciones de integración continua. Obtenga más información en Creación de CI/CD con Azure para Microsoft Power Platform.
Integración de control de código fuente
La integración de la canalización de integración continua con su sistema de control de código fuente es clave para permitir contribuciones de código rápidas y de autoservicio.
La canalización de CI se ejecuta en una solicitud de extracción recién creada. La canalización incluye todas las pruebas, evaluaciones de seguridad y otros controles. Los resultados de las pruebas de CI aparecen directamente en la solicitud de extracción para permitir comentarios sobre la calidad casi en tiempo real.
Otra práctica popular consiste en crear pequeños informes o insignias que se pueden presentar en el control de código fuente para hacer visibles los estados de compilación actuales.
La siguiente imagen muestra la integración entre GitHub y una canalización de Azure DevOps. En este ejemplo, la creación de una solicitud de extracción activa la canalización. El estado de la canalización aparece en la solicitud de extracción.
Integración de pruebas
Un elemento clave de la integración continua es la creación y la prueba continuas de código a medida que los desarrolladores realizan contribuciones al código. Probar las solicitudes de extracción a medida que se crean proporciona información inmediata de que la confirmación no ha introducido cambios importantes. La ventaja es que las pruebas en el proceso de integración continua pueden ser las mismas pruebas que se ejecutan durante el desarrollo basado en pruebas.
Controles de calidad de código personalizado
Al incluir código personalizado en sus soluciones, agregue comprobaciones de calidad del código a un proceso de validación para garantizar que se envía código personalizado limpio al control de código fuente. Independientemente del lenguaje de codificación y los patrones de sintaxis que esté utilizando, existen múltiples opciones para mantener la calidad del código y aumentar la seguridad y la gobernanza.
Pruebas no superadas
Las pruebas no superadas deberían bloquear temporalmente una implementación y llevar a un análisis más profundo de lo sucedido. Las pruebas no superadas también deberían producir un reajuste de las pruebas o a una mejora en el cambio que provocó que las pruebas fallaran.
Facilitación de Power Platform
Microsoft Power Platform Las herramientas de compilación para Azure DevOps se pueden usar para automatizar tareas comunes de compilación e implementación relacionadas con aplicaciones creadas en Power Platform.
Las acciones de GitHub permiten a los desarrolladores crear flujos de trabajo automatizados del ciclo de vida del desarrollo de software. Power Platform Con las Acciones de GitHub para Microsoft Power Platform, puede crear flujos de trabajo en su repositorio para crear, probar, empaquetar, lanzar e implementar aplicaciones, automatizar tareas y administrar bots y otros componentes integrados en Microsoft Power Platform.
ALM Accelerator es una herramienta de código abierto que consta de un conjunto de aplicaciones, scripts y pipelines diseñados para automatizar el proceso de integración continua/entrega continua.
Automatice pruebas con Azure Pipelines.
Power Apps La API web del comprobador proporciona un mecanismo para ejecutar comprobaciones de análisis estático frente a personalizaciones y extensiones de la Microsoft Dataverse plataforma.
Microsoft Power Platform CLI(PAC CLI) es una herramienta de línea de comandos que admite la importación y exportación de soluciones, así como el empaquetado y desempaquetado de archivos fuente de soluciones. Power Platform Power Platform PAC CLI está disponible como una herramienta de línea de comandos independiente o como una extensión para Visual Studio Código.
Información relacionada
- Gestión del ciclo de vida de las aplicaciones (ALM) con Microsoft Power Platform
- Cree CI/CD con Azure para Microsoft Power Platform
- Power Platform entornos
- Establecer una estrategia ambiente
- Gobernanza del codesarrollo
- Utilice escenarios para implementar una ALM saludable con Microsoft Power Apps
- Automatizar pruebas con Azure Pipelines