Use Azure Pipelines

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019

Azure Pipelines admite la integración continua (CI) y la entrega continua (CD) para probar, compilar e implementar continuamente el código. Para ello, hay que definir canalizaciones.

La forma más reciente de compilar canalizaciones es con el editor de canalizaciones de YAML. También puede usar canalizaciones clásicas con el editor clásico.

Automatización de pruebas, compilaciones y entrega

La integración continua (CI) automatiza las pruebas y compilaciones del proyecto. La CI ayuda a detectar errores o problemas al principio del ciclo de desarrollo cuando son más fáciles y rápidos de corregir. Los elementos conocidos como "artefactos" se generan a partir de sistemas de CI. Las canalizaciones de versión de entrega continua los usan para impulsar implementaciones automáticas.

La entrega continua implementa y prueba automáticamente el código en varias fases para ayudar a mejorar la calidad. Los sistemas de integración continua generan artefactos implementables, que incluyen infraestructura y aplicaciones. Las canalizaciones de versión automatizadas consumen estos artefactos para publicar nuevas versiones y correcciones en el destino que se elija.

Integración continua (CI) Entrega continua (CD)
- Aumento de la cobertura de código
- Compilación más rápida mediante la división de las ejecuciones de pruebas y compilaciones
- Comprobación automática de que no se envíe código roto
- Ejecución continua de pruebas
- Implementación automática de código en producción
- Garantía de que los destinos de implementación tienen el código más reciente
- Uso del código probado del proceso de CI

Definición de canalizaciones mediante la sintaxis de YAML

La canalización se define en un archivo YAML denominado azure-pipelines.yml con el resto de la aplicación.

Imagen de introducción de canalizaciones YAML

  • Las canalizaciones tienen la misma versión del código, y siguen la misma estructura de ramificación. La validación de los cambios se obtiene a través de revisiones de código en solicitudes de extracción y directivas de compilación de rama.
  • Cada rama que usa puede modificar la canalización si se modifica el archivo azure-pipelines.yml. Obtenga más información sobre la consideración de la rama para las canalizaciones YAML.
  • Un cambio en el proceso de compilación podría provocar una interrupción o un resultado inesperado. Dado que el cambio está en el control de versiones con el resto del código base, puede identificar más fácilmente el problema.

Siga estos pasos básicos:

  1. Configurar Azure Pipelines para usar nuestro repositorio de Git
  2. Edite el archivo azure-pipelines.yml para definir la compilación.
  3. Insertar el código en el repositorio de control de versiones (esta acción inicia el desencadenador predeterminado para compilar e implementar y, después, supervisar los resultados)

Nuestro código ya está actualizado, compilado, probado y empaquetado. Se puede implementar en cualquier destino.

Definición de canalizaciones mediante la interfaz clásica

Cree y configure canalizaciones en el portal web de Azure DevOps con el editor de interfaz de usuario clásico. Una canalización de compilación se define para compilar y probar código y, tras ello, publicar artefactos. También se define una canalización de versión para consumir e implementar esos artefactos en destinos de implementación.

Imagen de introducción del diseñador de canalizaciones

Siga estos pasos básicos:

  1. Configurar Azure Pipelines para usar nuestro repositorio de Git
  2. Use el editor clásico de Azure Pipelines para crear y configurar las canalizaciones de compilación y versión.
  3. Insertar el código en el repositorio de control de versiones Esta acción desencadena la canalización y ejecuta tareas como compilar o probar código.

La compilación crea un artefacto que el resto de la canalización usa para ejecutar tareas como la implementación en el entorno de ensayo o producción.

Nuestro código ya está actualizado, compilado, probado y empaquetado. Se puede implementar en cualquier destino.

Disponibilidad de características

Algunas características de canalización solo están disponibles al usar YAML o al definir canalizaciones de compilación o versión con la interfaz clásica. En la tabla siguiente, se indican las características que se admiten y para qué tareas y métodos.

Característica YAML Compilación clásica Versión clásica Notas
Agentes Especifica un recurso necesario donde se ejecuta la canalización.
Aprobaciones Define un conjunto de validaciones necesarias antes de completar una fase de implementación.
Artefactos Admite la publicación o el consumo de diferentes tipos de paquetes.
Almacenamiento en caché Reduce el tiempo de compilación al permitir que las salidas o dependencias descargadas de una ejecución se reutilicen en ejecuciones posteriores. En fase de versión preliminar, solo disponible con Azure Pipelines.
Condiciones Especifica las condiciones que se deben cumplir antes de ejecutar un trabajo.
Trabajos de contenedor Especifica los trabajos que se ejecutarán en un contenedor.
Peticiones Garantiza que se cumplen los requisitos de canalización antes de ejecutar una fase de canalización. Requiere agentes auto-hospedados.
Dependencias Especifica un requisito que se debe cumplir para ejecutar el trabajo o la fase siguiente.
Grupos de implementación Define un conjunto lógico de máquinas de destino de implementación.
Trabajos de grupo de implementación Especifica un trabajo cuya versión se publicará para un grupo de implementación.
Trabajos de implementación Define los pasos de implementación.
Entorno Representa una colección de recursos destinados a la implementación. Disponible solo con Azure Pipelines.
Puertas Admite la recopilación y evaluación automática de señales de mantenimiento externo antes de completar una fase de versión. Disponible solo con la versión clásica.
Trabajos Define la secuencia de ejecución de un conjunto de pasos.
Conexiones de servicio Habilita una conexión a un servicio remoto necesario para ejecutar tareas en un trabajo.
Contenedores de servicio Permite administrar el ciclo de vida de un servicio en contenedores.
Fases Organiza los trabajos dentro de una canalización.
Grupos de tareas Encapsula una secuencia de tareas en una sola tarea reutilizable. Si usa YAML, consulte la información sobre las plantillas.
Tareas Define los bloques de creación que forman una canalización.
Templates (Plantillas [C++]) Define el contenido reutilizable, la lógica y los parámetros.
Desencadenadores Define el evento que hace que se ejecute una canalización.
Variables Representa un valor que se va a reemplazar por los datos que se pasarán a la canalización.
Grupos de variables Se usa para almacenar los valores que quiere controlar y que están disponibles en varias canalizaciones.

Pasos siguientes