Uso de puertas y aprobaciones para controlar la implementación

Azure DevOps Services | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018

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.

Mediante el uso de una combinación de aprobaciones de implementación manuales, puertas e intervención manual en la canalización de versión, puede configurar de forma rápida y sencilla la implementación para satisfacer todos los requisitos previos a la implementación específicos para el flujo de trabajo de CI/CD de DevOps.

En este tutorial, aprenderá lo siguiente:

  • Validaciones anteriores a la implementación
  • Intervención manual
  • Validación manual
  • Registros de implementación

Requisitos previos

Configurar puertas

Puede usar puertas para asegurarse de que la canalización de versión cumple criterios específicos antes de la implementación sin necesidad de intervención del usuario.

  1. Seleccione Versiones y, a continuación, seleccione la canalización de versión y, después, Editar para abrir el editor de canalizaciones.

    Edit the release pipeline

  2. Seleccione el icono anterior a la implementación de la fase para abrir el panel condiciones previas a la implementación y, a continuación, seleccione el botón de alternancia para Habilitar puertas.

    Enable gates

  3. Escriba el tiempo de retraso antes de que se evalúen las puertas agregadas. Este tiempo es permitir que las funciones de puerta se inicialicen y se estabilicen antes de devolver los resultados.

    Gates delay time

  4. Seleccione Agregar y, a continuación, elija la tarea Elementos de trabajo de consulta .

    Adding Query work items task

  5. Seleccione una consulta de elemento de trabajo existente o cree su propia. En función del número de elementos de trabajo que espera que devuelva la consulta, establezca los umbrales máximos y mínimos.

    Configuring the Query Work Items task

  6. Seleccione la sección Opciones de evaluación y especifique el tiempo de espera y el intervalo de muestreo. Los valores mínimos que puede especificar son el tiempo de espera de 6 minutos y el intervalo de muestreo de 5 minutos.

    Evaluation options setup

  7. Seleccione Guardar cuando haya terminado.

    Save a release pipeline

Configurar la intervención manual

En función del escenario, a veces es posible que tenga que agregar una intervención manual a la canalización de versión. Para ello, agregue la tarea Intervención manual a la canalización.

  1. Seleccione la canalización de versión y, a continuación, seleccione Tareas y elija la fase.

    Stage tasks

  2. Seleccione los puntos suspensivos (...) en la definición de la fase y, a continuación, seleccione Agregar trabajo sin agente.

    Add agentless job

    Nota:

    La tarea Intervención manual solo se puede usar en un trabajo sin agente.

  3. Arrastre y coloque el trabajo sin agente al inicio del proceso de implementación. Seleccione el + signo y, a continuación, seleccione Agregar la tarea Intervención manual.

    Add a Manual Intervention task

  4. Para configurar la tarea, escriba las instrucciones que se mostrarán cuando se desencadene la tarea.

    Configure the Manual Intervention task

    Puede especificar una lista de usuarios a los que se notificará cuando la implementación esté pendiente de aprobación manual. También puede especificar un tiempo de espera y la acción (aprobar o rechazar) que se producen si no hay ninguna intervención dentro del período de tiempo de espera. Consulte la tarea Intervención manual para obtener más detalles.

  5. Seleccione Guardar cuando haya terminado.

Configuración de la validación manual

Puede usar la tarea de validación manual en yaML para pausar la ejecución de la canalización y esperar la aprobación manual. La validación manual es especialmente útil en escenarios en los que desea pausar una canalización y validar las opciones de configuración o los paquetes de compilación antes de iniciar un trabajo de cálculo intensivo.

El waitForValidation trabajo detiene la ejecución y desencadena un mensaje dentro de la interfaz de usuario de canalización para revisar y validar la tarea. Las direcciones de correo electrónico enumeradas en notifyUsers reciben una notificación para aprobar o denegar la ejecución de la canalización.

Add validation for the pipeline to continue.

pool: 
   vmImage: ubuntu-latest

jobs:
- job: waitForValidation
  displayName: Wait for external validation  
  pool: server    
  timeoutInMinutes: 4320 # job times out in 3 days
  steps:   
   - task: ManualValidation@0
     timeoutInMinutes: 1440 # task times out in 1 day
     inputs:
         notifyUsers: |
            someone@example.com
         instructions: 'Please validate the build configuration and resume'
         onTimeout: 'resume'

Visualización de registros de implementación

Los registros de implementación pueden ser muy útiles al depurar problemas de implementación. También puede usar los registros para auditar la ejecución y comprobar las aprobaciones y cómo se les concedieron y por quién.

  1. Seleccione Versiones y, a continuación, seleccione la canalización de versión.

    Release summary

  2. Esta vista le mostrará un estado activo de cada fase de la canalización. La fase qa de este ejemplo está pendiente de intervención. Seleccione Reanudar.

    Stage pending intervention

  3. Escriba el comentario y, a continuación, seleccione Reanudar.

    Resume task

  4. Vuelva a la canalización de versión. La implementación de la fase de control de calidad se realizó correctamente y las aprobaciones previas a la implementación se desencadenan para la fase de producción .

    Pre-deployment approval triggered for next stage

  5. Seleccione Aprobar y escriba el comentario y, a continuación, seleccione Aprobar para continuar con la implementación.

    Approve deployment

  6. Vuelva a la canalización de versión. El estado activo indica que las puertas se están procesando para la fase de producción antes de que continúe la versión.

    status: processing gates

  7. Vuelva a la canalización de versión y mantenga el puntero sobre la fase que desea auditar y, a continuación, seleccione Registros para ver los registros.

    View logs

Siguiente paso