Definición de una canalización clásica

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019 | TFS 2018

Nota:

Microsoft Visual Studio Team Foundation Server 2018 y sus versiones anteriores tienen las siguientes diferencias en la terminología:

  • Los procesos de las compilaciones y versiones 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
  • Los trabajos se denominan fases

Azure Pipelines proporciona una canalización muy configurable y manejable para versiones en varias fases, como desarrollo, ensayo, control de calidad y producción. También ofrece la oportunidad de implementar validaciones y aprobaciones en cada fase específica.

En este tutorial, aprenderá lo siguiente:

  • Desencadenadores de implementación continua.
  • Adición de fases.
  • Adición de aprobaciones previas a la implementación.
  • Creación de versiones y supervisión de las implementaciones.

Requisitos previos

Necesitará:

  • Una canalización de versión que contenga al menos una fase. Si no tiene ninguna, puede crearla siguiendo cualquiera de los siguientes tutoriales y guías de inicio rápido:

  • Dos destinos aparte en los que implementará la aplicación. Pueden ser máquinas virtuales, servidores web, grupos de implementación físicos en el entorno local u otros tipos de destino de implementación. En este ejemplo, usamos instancias de sitio web de Azure App Service. Si decide hacer lo mismo, tendrá que elegir nombres que sean únicos, pero es una buena idea incluir "QA" en el nombre de uno y "Producción" en el nombre del otro para que pueda identificarlos fácilmente. Use Azure Portal para crear una aplicación web.

Desencadenadores de implementación continua (CD)

Al habilitar un desencadenador de implementación continua, se indica a la canalización que cree automáticamente una nueva versión cada vez que haya disponible una nueva compilación.

  1. En Azure Pipelines, abra la pestaña Versiones. Seleccione la canalización de versión y elija Editar.

    edit the release pipelin

  2. Seleccione el icono Desencadenador de implementación continua en la sección Artefactos para abrir el panel del desencadenador. Asegúrese de habilitarlo para que se cree una nueva versión cada vez que se complete una nueva compilación correcta.

    continuous deployment trigger

  3. Seleccione el icono Condiciones anteriores a la implementación en la sección Fases para abrir el panel de condiciones. Asegúrese de que el desencadenador de la implementación en esta fase esté establecido en Después de la versión. Esto significa que se iniciará automáticamente una implementación cuando se cree una nueva versión en esta canalización de versión.

    pre-deployment conditions

    También puede configurar desencadenadores de versión o desencadenadores de fase, o programar implementaciones.

Agregar fases

En esta sección, agregaremos dos fases nuevas a nuestra canalización de versión: QA y producción (dos sitios web de Azure App Services en este ejemplo). Este es un escenario típico en el que implementaría la aplicación inicialmente en un servidor de prueba o de almacenamiento provisional y, después, en un servidor activo o de producción. Cada fase representa un destino de implementación.

  1. Seleccione la pestaña Canalización en la canalización de versión y elija la fase que haya. Cambie el nombre de la fase a Producción.

    Choosing an existing stage from the Pipelines tab and changing the name to Production in the Stage panel

  2. Seleccione la lista desplegable + Agregar y elija Clonar fase (la opción clonar solo está disponible cuando se selecciona una fase).

    selecting Clone stage

    Normalmente, se usan los mismos métodos de implementación en una fase de prueba y de producción para poder asegurarse de que las aplicaciones implementadas se comportarán del mismo modo. Clonar una fase que ya existe es una buena manera de asegurarse de que tiene la misma configuración para ambas. A continuación, solo tiene que cambiar los destinos de implementación.

  3. La fase clonada tendrá el nombre Copia de Producción. Selecciónela y cámbiele el nombre a QA.

    changing stage name to QA

  4. Para reorganizar las fases de la canalización, seleccione el icono Condiciones anteriores a la implementación en la fase QA y establezca el desencadenador en Después de la versión. El diagrama de la canalización mostrará entonces las dos fases en paralelo.

    reorganizing stages

  5. Seleccione el icono Condiciones anteriores a la implementación en la fase Producción y establezca el desencadenador en Después de la fase. A continuación, seleccione QA en la lista desplegable Fases. El diagrama de canalización indicará ahora que las dos fases se ejecutarán en el orden correcto.

    Selecting QA triggers and stages

    Nota:

    Puede configurar la implementación para que se inicie cuando una implementación en la fase anterior sea parcialmente correcta. Esto significa que la implementación continuará incluso si se ha producido un error en una tarea no crítica específica. Normalmente se usa en implementaciones de bifurcación y combinación que se implementan en distintas fases en paralelo.

  6. Seleccione la lista desplegable Tareas y elija la fase QA.

    Tasks drop down and selecting QA stage

  7. En función de las tareas que use, cambie la configuración para que esta fase se implemente en el destino de "QA". En nuestro ejemplo, usaremos la tarea Implementar Azure App Service, como se muestra a continuación.

    Using the deploy azure app service task

Adición de aprobaciones anteriores a la implementación

La canalización de versión que hemos modificado antes implementa las versiones en QA y Producción. Si se produce un error en la implementación en QA, no se desencadena la implementación en Producción. Se recomienda comprobar siempre si la aplicación funciona correctamente en la fase QA o de prueba antes de realizar la implementación en Producción. La adición de aprobaciones garantizará que se cumplan todos los criterios antes de realizar la implementación en la siguiente fase. Para agregar aprobaciones a la canalización, siga estos pasos:

  1. Seleccione la pestaña Canalización, el icono Condiciones anteriores a la implementación y, después, Aprobadores previos a la implementación.

    pre-deployment approvers panel

  2. En el cuadro de texto Aprobadores, indique los usuarios que serán responsables de aprobar la implementación. También se recomienda desactivar la casilla El usuario que solicita una versión o una implementación no debería aprobarla.

    Adding pre-deployment approvers

    Puede agregar tantos aprobadores como necesite, tanto usuarios individuales como grupos de una organización. También puede configurar aprobaciones posteriores a la implementación seleccionando el icono "Usuario" a la derecha de la fase en el diagrama de la canalización. Para obtener más información, consulte Validaciones y aprobaciones de versiones.

  3. Seleccione Guardar.

    Saving the release pipeline

Creación de una versión

Ahora que hemos completado la configuración de la canalización de versión, es el momento de iniciar la implementación. Para ello, crearemos manualmente una nueva versión. Normalmente una versión se crea automáticamente cuando hay disponible un nuevo artefacto de compilación. Pero, en este escenario, lo vamos a crear manualmente.

  1. Seleccione la lista desplegable Versión y elija Crear versión.

    create a new release

  2. Escriba una descripción para la versión, compruebe que se han seleccionado los artefactos correctos y seleccione Crear.

    create a new release panel

  3. Aparece un mensaje emergente para indicar que se ha creado una nueva versión. Seleccione el vínculo de versión para ver más detalles.

    release created successfully

  4. La página de resumen de la versión muestra el estado de la implementación en cada fase.

    deployment status

    Otras vistas, como la lista de versiones, también muestran un icono que indica que la aprobación está pendiente. El icono muestra una ventana emergente que contiene el nombre de la fase y otros detalles cuando sitúa el puntero encima. Esto permite que un administrador pueda ver fácilmente que versiones están a la espera de aprobación así como el progreso general de todas las versiones.

    releases list view

  5. Seleccione el icono pending_approval para abrir el panel de la ventana de aprobación. Escriba un breve comentario y seleccione Aprobar.

    approving deployment

Nota:

Puede programar la implementación para otro momento, por ejemplo, durante las horas de menos actividad. También puede reasignar la aprobación a otro usuario. Los administradores de versiones pueden acceder a todas las decisiones de aprobación e invalidarlas.

Supervisión y seguimiento de implementaciones

Los registros de implementación facilitan la supervisión y depuración de la versión de la aplicación. Para comprobar los registros de nuestra implementación, siga estos pasos:

  1. En el resumen de la versión, mantenga el puntero sobre una fase y seleccione Registros.

    deployment logs

    Durante la implementación, también puede acceder a la página de registros para ver los registros activos de cada tarea.

  2. Seleccione cualquier tarea para ver los registros de esa tarea específica. Esto facilita el seguimiento y la depuración de problemas de implementación. También puede descargar registros de tareas concretas o un archivo ZIP con todos los archivos de registro.

    downloading logs

  3. Si necesita más información para depurar la implementación, puede ejecutar la versión en modo de depuración.

Paso siguiente