Conceptos clave para los nuevos usuarios de Azure Pipelines

Azure DevOps Services

Conozca los conceptos y componentes clave que conforman Azure Pipelines. Comprender los términos básicos y las partes de una canalización puede ayudarle a crear, probar y desplegar su código con mayor eficacia.

Introducción a los conceptos clave

gráfico de conceptos clave

  • Un desencadenador indica a una canalización que se ejecute.
  • Una canalización consta de una o más fases. Una canalización se puede implementar en uno o varios entornos.
  • Una fase es una forma de organizar los trabajos en una canalización y cada fase puede tener uno o más trabajos.
  • Cada trabajo se ejecuta en un agente. Un trabajo también puede ser sin agente.
  • Cada agente ejecuta un trabajo que contiene uno o más pasos.
  • Un paso puede ser una tarea o un script, y es el bloque de compilación más pequeño de una canalización.
  • Una tarea es un script previamente empaquetado que realiza una acción, como invocar una API REST o publicar un artefacto de compilación.
  • Un artefacto es una recopilación de archivos o paquetes que ha publicado una ejecución.

Términos de Azure Pipelines

Agente

Cuando la compilación o la implementación se ejecuta, el sistema inicia uno o varios trabajos. Un agente es una infraestructura informática con software de agente instalado que ejecuta un trabajo de uno en uno. Por ejemplo, el trabajo podría ejecutarse en un agente de Ubuntu hospedado por Microsoft.

Para obtener información más detallada sobre los distintos tipos de agentes y cómo usarlos, consulte Agentes de Azure Pipelines.

Aprobaciones

Las aprobaciones definen un conjunto de validaciones necesarias antes de que se ejecute una implementación. La aprobación manual es una comprobación común que se realiza para controlar las implementaciones en entornos de producción. Cuando se configuran comprobaciones en un entorno, la ejecución de una canalización se detiene hasta que todas las comprobaciones se completan correctamente.

Artefacto

Un artefacto es una recopilación de archivos o paquetes que ha publicado una ejecución. Los artefactos se habilitan para las tareas posteriores, como la distribución o la implementación. Para obtener más información, consulte Artefactos en Azure Pipelines.

Entrega continua

La entrega continua (CD) es un proceso por el que el código se compila, prueba e implementa en una o varias fases de prueba y producción. La implementación y las pruebas en varias fases ayudan 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 los sistemas existentes. Los sistemas de supervisión y alertas se ejecutan constantemente para impulsar la visibilidad de todo el proceso de CD. Este proceso garantiza que los errores se detecten con frecuencia y de forma anticipada.

Integración continua

La integración continua (CI) es la práctica que usan los equipos de desarrollo para simplificar las pruebas y la creación de código. CI permite detectar errores o problemas al principio del ciclo de desarrollo, lo que facilita y acelera la corrección. Las pruebas y compilaciones automatizadas se ejecutan como parte del proceso de CI. El proceso se puede ejecutar según una programación establecida, siempre que se inserte código o en ambos casos. 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.

Implementación

Una implementación de canalización clásica es la acción de ejecutar las tareas de una fase. La implementación puede incluir la ejecución de pruebas automatizadas, la implementación de artefactos de compilación y cualquier otra acción especificada para esa fase.

Para las canalizaciones de YAML, una implementación hace referencia a un trabajo de implementación. Un trabajo de implementación es una colección de pasos que se ejecutan secuencialmente en un entorno. Puede usar estrategias como runOnce, rolling o canary para los trabajos de implementación.

Grupo de implementación

Un grupo de implementación es un conjunto de máquinas de destino de implementación que tienen agentes instalados. Un grupo de implementación es simplemente otra agrupación de agentes, como un grupo de agentes. Puede establecer los destinos de implementación en una canalización para un trabajo mediante un grupo de implementación. Obtenga más información sobre los agentes de aprovisionamiento para los grupos de implementación.

Entorno

Un entorno es una colección de recursos donde se implementa la aplicación. Un entorno puede contener una o varias máquinas virtuales, contenedores, aplicaciones web o cualquier servicio. Las canalizaciones se implementan en uno o varios entornos una vez finalizada la compilación y ejecutadas las pruebas.

Trabajo

Una fase contiene uno o varios trabajos. Cada trabajo se ejecuta en un agente. Un trabajo representa un límite de ejecución de un conjunto de pasos. Todos los pasos se ejecutan juntos en el mismo agente. Los trabajos son más útiles si desea ejecutar una serie de pasos en distintos entornos. Por ejemplo, puede que quiera crear dos configuraciones: x86 y x64. En este caso, tiene una fase y dos trabajos. Un trabajo sería para x86 y el otro, para x64.

Los trabajos sin agente se ejecutan en Azure DevOps y Azure DevOps Server sin utilizar un agente. Un número limitado de tareas admiten trabajos sin agente.

Canalización

Una canalización define el proceso de integración continua e implementación para la aplicación. Se compone de una o varias fases. Se puede considerar como un flujo de trabajo que define cómo se ejecutan los pasos de prueba, compilación e implementación.

En el caso de las canalizaciones clásicas, una canalización también puede denominarse definición.

Release

En el caso de las canalizaciones clásicas, una versión es un conjunto con versiones de artefactos especificados en una canalización. La versión incluye una instantánea de toda la información necesaria para llevar a cabo todas las tareas y acciones de la canalización de versión, como fases, tareas, directivas como desencadenadores y aprobadores o opciones de implementación. Puede crear una versión manualmente, con un desencadenador de implementación o con la API REST.

En el caso de las canalizaciones YAML, las fases de compilación y versión se encuentran en una canalización de varias fases.

Ejecutar

Una ejecución representa una ejecución de una canalización. Recopila los registros asociados a la ejecución de los pasos y los resultados de la ejecución de pruebas. Durante una ejecución, Azure Pipelines procesará primero la canalización y, a continuación, enviará la ejecución a uno o varios agentes. Cada agente ejecuta trabajos. Obtenga más información sobre la secuencia de ejecución de una canalización.

Para las canalizaciones clásicas, una compilación representa una ejecución de una canalización.

Script

Un script ejecuta código como un paso en la canalización mediante la línea de comandos, PowerShell o Bash. Puede escribir scripts multiplataforma para macOS, Linux y Windows. A diferencia de una tarea, un script es un código personalizado específico de la canalización.

Fase

Una fase es un límite lógico en la canalización. Se puede usar para marcar la separación de problemas (por ejemplo, Compilación, Control de calidad y Producción). Cada fase puede contener uno o varios trabajos. Al definir varias fases en una canalización, de forma predeterminada, se ejecutan una después de la otra. Puede especificar las condiciones para cuando se ejecuta una fase. Cuando esté pensando en si necesita una fase, pregúntese:

  • ¿Los grupos independientes administran diferentes partes de esta canalización? Por ejemplo, podría tener un administrador de pruebas que administre los trabajos relacionados con las pruebas y otro que administre los trabajos relacionados con la implementación de producción. En este caso, tiene sentido tener fases independientes para pruebas y producción.
  • ¿Hay un conjunto de aprobaciones conectadas a un trabajo específico o a un conjunto de trabajos? Si es así, puede usar fases para dividir los trabajos en grupos lógicos que requieran aprobaciones.
  • ¿Hay trabajos que necesiten ejecutarse mucho tiempo? Si un trabajo de la canalización tiene un tiempo de ejecución largo, tiene sentido ponerla en su propia fase.

Paso

Un paso es el bloque de creación más pequeño de una canalización. Por ejemplo, una canalización podría constar de tareas de compilación y pasos de prueba. Un paso puede ser un script o una tarea. Una tarea es simplemente un script creado previamente que se le ofrece para su comodidad. Para ver las tareas disponibles, consulte la referencia Tareas de compilación y de versión. Para obtener información sobre cómo crear tareas personalizadas, consulte Creación de una tarea personalizada.

Tarea

Una tarea es el bloque de compilación para definir la automatización en una canalización. Una tarea es un procedimiento o script empaquetado que se ha abstraído con un conjunto de entradas.

Desencadenador

Un desencadenador es un elemento que se configura para indicar a la canalización el momento de la ejecución. Puede configurar una canalización para que se ejecute tras una inserción en un repositorio en horas programadas o tras completarse otra compilación. Todas estas acciones se conocen como "desencadenadores". Para obtener más información, consulte Desencadenadores de compilación y Desencadenadores de versión.

Biblioteca

La biblioteca incluye archivos seguros y grupos de variables. Los archivos seguros son una manera de almacenar archivos y compartirlos entre canalizaciones. Por ejemplo, es posible que desee hacer referencia al mismo archivo para diferentes canalizaciones. En ese caso, puede guardar el archivo en la biblioteca y usarlo cuando lo necesite. Los grupos de variables almacenan valores y secretos que es posible que quiera pasar a una canalización de YAML o que estén disponibles en varias canalizaciones.

Acerca de los autores

  • Dave Jarvis contribuyó al gráfico de información general de conceptos clave.