Arquitectura de Azure Pipelines con DevTest Labs

Importante

CI/CD con DevTest Labs es una variante de Diseño de una canalización de CI/CD mediante Azure DevOps. Este artículo se centra en los detalles de la implementación en entornos de ensayo de DevTest Labs.

DevTest Labs le permite aprovisionar entornos Windows y Linux con artefactos y plantillas reutilizables. Estos entornos pueden ser útiles para los desarrolladores, pero también se pueden usar en canalizaciones de CI/CD para aprovisionar entornos de ensayo. Consulte Escenarios de Azure DevTest Labs para ver si DevTest Labs es una buena opción para su escenario.

Este artículo describe un flujo de trabajo general de DevOps para implementar cambios de las aplicaciones mediante prácticas de integración continua (CI) e implementación continua (CD) con Azure Pipelines. Un entorno de DevTest Labs se usa como entorno de ensayo.

Architecture

Diagrama de arquitectura de una canalización de CI/CD que usa Azure Pipelines con Azure DevTest Labs en un entorno de ensayo.

Descargue un archivo Visio de esta arquitectura.

Flujo de datos

En esta sección se supone que ha leído la arquitectura de línea de base de Azure Pipelines y su contenido solo se centra en los detalles de la implementación de una carga de trabajo en Azure DevTest Labs en el entorno de ensayo.

  1. Canalización de solicitud de incorporación de cambios: igual que la línea de base.

  2. Canalización de CI: igual que la línea de base.

  3. Desencadenador de canalización de CD: igual que la línea de base.

  4. CD crea un entorno de ensayo de DevTest Labs: este paso crea el entorno de DevTest Labs que funciona como entorno de ensayo. Este paso incluye:

    • Crear el entorno de Azure DevTest Labs en una suscripción de ensayo.
    • Implementar una plantilla de ARM en el entorno de DevTest Labs. Las imágenes de máquina virtual se pueden almacenar en una galería de imágenes compartidas.
    • Realice los pasos posteriores a la implementación para configurar correctamente el entorno de ensayo.
  5. Liberación de CD a ensayo: igual que la línea de base con una excepción. El entorno de ensayo es un entorno de DevTest Labs.

  6. Liberación de CD a producción: igual que la línea de base.

  7. Supervisión: igual que la línea de base.

Componentes

En esta sección se supone que ha leído la sección de componentes de la arquitectura de línea de base de Azure Pipelines y su contenido solo se centra en los detalles de la implementación de una carga de trabajo en Azure DevTest Labs en el entorno de ensayo.

  • Azure DevTest Labs es un servicio para crear, usar y administrar entornos empleados con fines de desarrollo, pruebas e implementación. El servicio permite implementar fácilmente entornos preconfigurados de forma rentable.

Alternativas

  • Como alternativa a la creación del entorno de ensayo de DevTest Labs como parte del proceso de CD, puede crear previamente el entorno fuera de la canalización. Esta alternativa tiene la ventaja de acelerar la canalización. Sin embargo, impedirá eliminar el entorno una vez completada la canalización, lo que aumentará el costo.

  • En las situaciones donde VM Image Builder y Shared Image Gallery no funcionen, puede configurar una fábrica de imágenes para crear imágenes de VM desde la canalización de CI/CD y distribuirlas automáticamente a las instancias de Azure DevTest Labs registradas en esas imágenes. Para obtener más información, consulte Ejecución de una fábrica de imágenes desde Azure DevOps.

  • Se podrían crear e implementar otros entornos distintos al de ensayo como parte de la canalización de CD. Estos entornos podrían admitir actividades como pruebas de rendimiento y pruebas de aceptación de usuarios.

Consideraciones

En esta sección se supone que ha leído la sección de consideraciones de la arquitectura de línea de base de Azure Pipelines y su contenido solo se centra en los detalles de la implementación de una carga de trabajo en Azure DevTest Labs en el entorno de ensayo.

Optimización de costos

Excelencia operativa

  • Considere la posibilidad de implementar otros entornos, aparte de ensayo y producción, para permitir cosas como reversiones, pruebas de aceptación manuales y pruebas de rendimiento. El acto de usar el entorno de ensayo como entorno de reversión le impide usar ese entorno para otros fines.

Pasos siguientes