Use Azure Pipelines

Azure Pipelines | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018 - TFS 2015

Azure Pipelines admite la integración continua (CI) y la entrega continua (CD) para probar, compilar e implementar continuamente el código. Para ello, defina una canalización.

La manera 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.

Azure Pipelines admite la integración continua (CI) y la entrega continua (CD) para probar, compilar e implementar continuamente el código. Para ello, defina una canalización mediante la interfaz de usuario, también denominada clásica.

Nota

En Microsoft Team Foundation Server (TFS) 2018 y versiones anteriores, las canalizaciones de compilación y versión se denominan definiciones, las ejecuciones se denominan compilaciones, las conexiones de servicio se denominan puntos de conexión de servicio, las fases se denominan entornos y los trabajos se denominan fases.

Automatización de pruebas, compilaciones y entrega

La integración continua (CI) automatiza las pruebas y compilaciones del proyecto. 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 las usan para impulsar las implementaciones automáticas.

La entrega continua implementa y prueba automáticamente el código en varias fases para ayudar a impulsar 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 prefiera.

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 pruebas y ejecuciones de compilación
- Asegúrese automáticamente de que no envía código roto.
- Ejecutar pruebas continuamente
- Implementación automática de código en producción
- Asegúrese de que los destinos de implementación tienen el código más reciente
- Uso de código probado desde el proceso de CI

Definición de canalizaciones mediante la sintaxis YAML

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

Pipelines de introducción de 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 use puede modificar la canalización modificando el azure-pipelines.yml archivo . Obtenga más información sobre la consideración de rama para las canalizaciones de YAML.
  • Un cambio en el proceso de compilación podría provocar una interrupción o provocar un resultado inesperado. Dado que el cambio está en 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 azure-pipelines.yml el archivo 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.

Las canalizaciones de YAML no están disponibles en TFS 2018 y versiones anteriores.

Definición de canalizaciones mediante la interfaz clásica

Cree y configure canalizaciones en Azure DevOps web con el editor de la interfaz de usuario clásica. 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.

Pipelines de introducción del diseñador

Siga estos pasos básicos:

  1. Configurar Azure Pipelines para usar nuestro repositorio de Git
  2. Use el editor Azure Pipelines clásico 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 usa el resto de la canalización para ejecutar tareas como la implementación en ensayo o producción.

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

Disponibilidad de características

Ciertas características de canalización solo están disponibles cuando se usa YAML o al definir canalizaciones de compilación o versión con la interfaz clásica. En la tabla siguiente se indica qué características 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 en el que se ejecuta la canalización.
Aprobaciones No 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é No Reduce el tiempo de compilación al permitir que las salidas o dependencias descargadas de una ejecución se reutilicen en ejecuciones posteriores. En versión preliminar, solo está disponible Azure Pipelines versión preliminar.
Condiciones Especifica las condiciones que se deben cumplir antes de ejecutar un trabajo.
Trabajos de contenedor No No Especifica los trabajos que se ejecutarán en un contenedor.
Demandas 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 poder ejecutar el siguiente trabajo o fase.
Grupos de implementación No Define un conjunto lógico de máquinas de destino de implementación.
Trabajos de grupo de implementación No No Especifica un trabajo que se liberará en un grupo de implementación.
Trabajos de implementación No No Define los pasos de implementación.
Entorno No No Representa una colección de recursos destinados a la implementación. Disponible solo con Azure Pipelines.
Puertas No No Admite la recopilación y evaluación automáticas de señales de estado externo antes de completar una fase de lanzamiento. 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 No No Permite administrar el ciclo de vida de un servicio en contenedores.
Fases No Organiza los trabajos dentro de una canalización.
Grupos de tareas No Encapsula una secuencia de tareas en una sola tarea reutilizable. Si usa YAML, consulte plantillas.
Tareas Define los bloques de creación que forma una canalización.
Templates (Plantillas [C++]) No No 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 reemplazará por los datos que se pasarán a la canalización.
Grupos de variables Use para almacenar los valores que desea controlar y que estén disponibles en varias canalizaciones.

TFS 2015 a TFS 2018 solo admite la interfaz clásica. En la tabla siguiente se indican las características de canalización disponibles al definir canalizaciones de compilación o versión.

Característica Compilación clásica Versión clásica Notas
Agentes Especifica un recurso necesario en el que se ejecuta la canalización.
Aprobaciones No 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.
Condiciones Especifica las condiciones que se deben cumplir antes de ejecutar un trabajo.
Demandas 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 poder ejecutar el siguiente trabajo o fase.
Grupos de implementación No Define un conjunto lógico de máquinas de destino de implementación.
Trabajos de grupo de implementación No Especifica un trabajo que se liberará en un grupo de implementación.
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.
Fases No 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 plantillas.
Tareas Define los bloques de creación que forma una canalización.
Desencadenadores Define el evento que hace que se ejecute una canalización.
Variables Representa un valor que se reemplazará por los datos que se pasarán a la canalización.
Grupos de variables Use para almacenar los valores que desea controlar y que estén disponibles en varias canalizaciones.

Pasos siguientes