Definición de aprobaciones y comprobaciones
Azure Pipelines
Una canalización se conste de fases. Un autor de canalización puede controlar si una fase debe ejecutarse definiendo condiciones en la fase. Otra manera de controlar si y cuándo se debe ejecutar una fase es a través de aprobaciones y comprobaciones.
Pipelines en recursos como entornos, conexiones de servicio, grupos de agentes, grupos de variables y archivos seguros. Las comprobaciones permiten al propietario del recurso controlar si una fase de cualquier canalización puede consumir un recurso y cuándo. Como propietario de un recurso, puede definir comprobaciones que deben satisfacerse antes de que se pueda iniciar una fase que consuma ese recurso. Por ejemplo, una comprobación de aprobación manual en un entorno garantizaría que la implementación en ese entorno solo se realice después de que los usuarios designados revisen los cambios que se implementan.
Una fase puede constar de muchos trabajos y cada trabajo puede consumir varios recursos. Antes de que pueda comenzar la ejecución de una fase, se deben cumplir todas las comprobaciones de todos los recursos usados en esa fase. Azure Pipelines pausa la ejecución de una canalización antes de cada fase y espera a que se completen todas las comprobaciones pendientes. Las comprobaciones se reevalua según el intervalo de reintento especificado en cada comprobación. Si todas las comprobaciones no se realizan correctamente hasta que se especifica el tiempo de espera, esa fase no se ejecuta. Si alguna de las comprobaciones produce un error terminal (por ejemplo, si rechaza una aprobación en uno de los recursos), esa fase no se ejecuta.
Las aprobaciones y otras comprobaciones no están definidas en el archivo yaml. Los usuarios que modifican el archivo yaml de canalización no pueden modificar las comprobaciones realizadas antes del inicio de una fase. Los administradores de recursos administran las comprobaciones mediante la interfaz web de Azure Pipelines.
Importante
Las comprobaciones se pueden configurar en entornos, conexiones de servicio, repositorios, grupos de variables, archivos seguros y grupos de agentes.
Las conexiones de servicio no se pueden especificar mediante variable.
Aprobaciones
Puede controlar manualmente cuándo se debe ejecutar una fase mediante comprobaciones de aprobación. Esto se usa normalmente para controlar las implementaciones en entornos de producción.
En el Azure DevOps proyecto, vaya al recurso (por ejemplo, entorno) que debe protegerse.
Vaya a Aprobaciones y comprobaciones en el recurso.
- Seleccione Crear,proporcione los aprobadores y un mensaje opcional y seleccione Crear de nuevo para completar la adición de la comprobación de aprobación manual.
Puede agregar varios aprobadores a un entorno. Estos aprobadores pueden ser usuarios individuales o grupos de usuarios. Cuando se especifica un grupo como aprobador, solo uno de los usuarios de ese grupo debe aprobar para que la ejecución avance.
Con las opciones avanzadas, puede configurar el número mínimo de aprobadores para completar la aprobación. Un grupo se considera un aprobador.
También puede impedir que el usuario que solicitó (inició o creó) la ejecución complete la aprobación. Esta opción se usa normalmente para la segregación de roles entre los usuarios.
Cuando se ejecuta una canalización, la ejecución de esa ejecución se detiene antes de entrar en una fase que usa el entorno. Los usuarios configurados como aprobadores deben revisar y aprobar o rechazar la implementación. Si tiene varias ejecuciones ejecutándose simultáneamente, debe aprobar o rechazar cada una de ellas de forma independiente. Si todas las aprobaciones necesarias no se completan dentro del tiempo de espera especificado para la aprobación y todas las demás comprobaciones se realizan correctamente, la fase se marca como omitida.
Control de rama
Con la comprobación de control de rama, puede asegurarse de que todos los recursos vinculados a la canalización se compilan a partir de las ramas permitidas y de que las ramas tienen habilitada la protección. Esto ayuda a controlar la preparación de la versión y la calidad de las implementaciones. En caso de que varios recursos estén vinculados a la canalización, se comprueba el origen de todos los recursos. Si ha vinculado otra canalización, se comprueba la protección de la rama de la ejecución específica que se está implementando.
Para definir la comprobación de control de rama:
En el Azure DevOps proyecto, vaya al recurso (por ejemplo, entorno) que debe protegerse.
Vaya a Aprobaciones y comprobaciones en el recurso.
Elija la comprobación Control de rama y proporcione una lista separada por comas de ramas permitidas. Puede hacer que la rama tenga habilitada la protección y que no se conozca el comportamiento del estado de protección del caso de comprobación para una de las ramas.
En tiempo de ejecución, la comprobación validaría las ramas de todos los recursos vinculados de la ejecución en la lista de permitidos. Si alguna de las ramas no coincide con los criterios, se produce un error en la comprobación y la fase se marca como con errores.
Nota
La comprobación requiere que los nombres de rama sean completos. Asegúrese de que el formato del nombre de rama es refs/heads/<branch name>
Horario laboral
En caso de que quiera que todas las implementaciones en su entorno se realizarán solo en un período de tiempo específico, la comprobación del horario comercial es la solución ideal. Cuando se ejecuta una canalización, la ejecución de la fase que usa el recurso espera el horario comercial. Si tiene varias ejecuciones ejecutándose simultáneamente, cada una de ellas se comprueba de forma independiente. Al principio del horario comercial, la comprobación se marca como correcta para todas las ejecuciones.
Si la ejecución de la fase no se ha iniciado al final del horario comercial (se mantiene hasta alguna otra comprobación), la aprobación del horario comercial se retira automáticamente y se programa una reevaluación para el día siguiente. Se produce un error en la comprobación si la ejecución de la fase no se inicia dentro del período de tiempo de espera especificado para la comprobación y la fase está marcada como con errores.
Invocación de una función de Azure
Azure Functions es la plataforma de cálculo sin servidor que ofrece Azure. Con Azure Functions, puede ejecutar pequeños fragmentos de código (denominados "funciones") sin preocuparse por la infraestructura de la aplicación. Dada la alta flexibilidad, Azure Functions proporciona una excelente manera de crear sus propias comprobaciones. Incluya la lógica de la función de Azure de comprobación, de modo que cada ejecución se desencadene en una solicitud HTTP, tenga un tiempo de ejecución corto y devuelva una respuesta. Al definir la comprobación, puede analizar el cuerpo de la respuesta para deducir si la comprobación se realiza correctamente. La evaluación se puede repetir periódicamente mediante la opción Tiempo entre evaluaciones en las opciones de control. Más información
Se producirá un error en las comprobaciones si la fase no ha iniciado la ejecución dentro del período de tiempo de espera especificado. Consulte Azure Function App task (Tarea de Azure Function App) para obtener más detalles.
Nota
Las variables de canalización definidas por el usuario no tienen acceso a la comprobación. Solo puede acceder a las variables y variables predefinidas desde el grupo de variables vinculadas en el cuerpo de la solicitud.
Invocar API REST
La comprobación de la API REST de invocación permite la integración con cualquiera de los servicios existentes. Periódicamente, realice una llamada a una API REST y continúe si devuelve una respuesta correcta. Más información
La evaluación se puede repetir periódicamente mediante la opción Tiempo entre evaluaciones en las opciones de control. Se producirá un error en las comprobaciones si la fase no ha iniciado la ejecución dentro del período de tiempo de espera especificado. Consulte Invoke REST API task (Invocar tarea de API rest) para obtener más detalles.
Nota
Las variables de canalización definidas por el usuario no tienen acceso a la comprobación. Solo puede acceder a las variables y variables predefinidas desde el grupo de variables vinculadas en el cuerpo de la solicitud.
Consultar las alertas de Azure Monitor
Azure Monitor ofrece visualización, consulta, enrutamiento, alertas, escalado automático y automatización de los datos de la infraestructura de Azure y de cada recurso individual de Azure. Las alertas son un medio estándar para detectar problemas con el estado de la infraestructura o la aplicación y tomar medidas correctivas. Las implementaciones de valores canarios y los lanzamientos por fases son estrategias de implementación comunes que se usan para reducir el riesgo de regresiones a aplicaciones críticas. Después de implementar en una fase (conjunto de clientes), la aplicación se observa durante un período de tiempo. El estado de la aplicación después de la implementación se usa para decidir si la actualización debe realizarse en la siguiente fase o no.
Consultar Azure Monitor alertas le ayuda a observar Azure Monitor y asegurarse de que no se genera ninguna alerta para la aplicación después de una implementación. La comprobación se realiza correctamente si no se activa ninguna regla de alerta en el momento de la evaluación. Más información
La evaluación se repite después de la configuración Tiempo entre evaluaciones en las opciones de control. Se producirá un error en las comprobaciones si la fase no ha iniciado la ejecución dentro del período de tiempo de espera especificado.
Plantilla necesaria
Con la comprobación de plantilla necesaria, puede aplicar canalizaciones para usar una plantilla YAML específica. Cuando esta comprobación está en su lugar, se producirá un error en una canalización si no se extiende desde la plantilla a la que se hace referencia.
Para definir una aprobación de plantilla necesaria:
En el Azure DevOps, vaya a la conexión de servicio que desea restringir.
Abra Aprobaciones y comprobaciones en el menú situado junto a Editar.
En el menú Agregar la primera comprobación, seleccione Plantilla necesaria.
Escriba detalles sobre cómo acceder al archivo de plantilla necesario.
- Tipo de repositorio:la ubicación del repositorio (GitHub, Azure o Bitbucket).
- Repositorio:el nombre del repositorio que contiene la plantilla.
- Ref:la rama o etiqueta de la plantilla necesaria.
- Ruta de acceso a la plantilla necesaria:el nombre de la plantilla.
Puede tener varias plantillas necesarias para la misma conexión de servicio. En este ejemplo, la plantilla necesaria es required.yml .
Evaluar artefacto
Puede evaluar los artefactos que se implementarán en un entorno con directivas personalizadas.
Nota
Actualmente, esto solo funciona con artefactos de imagen de contenedor.
Para definir una evaluación de directiva personalizada sobre los artefactos, siga estos pasos.
- En el Azure DevOps Services proyecto, vaya al entorno que debe protegerse. Obtenga más información sobre cómo crear un entorno.
- Vaya a Aprobaciones y busque el entorno.
- Seleccione Evaluate artifact (Evaluar artefacto).
- Pegue la definición de directiva y haga clic en Guardar. Más información sobre cómo escribir definiciones de directiva.
Cuando se ejecuta una canalización, la ejecución de esa ejecución se detiene antes de entrar en una fase que usa el entorno. La directiva especificada se evalúa con los metadatos de imagen disponibles. La comprobación se realiza cuando la directiva se realiza correctamente y se produce un error en caso contrario. La fase se marca como con errores si se produce un error en la comprobación.
También puede ver los registros completos de las comprobaciones de directiva desde la vista de canalización.
Bloqueo exclusivo
La comprobación de bloqueo exclusivo permite que solo una sola ejecución de la canalización continúe. Todas las fases de todas las ejecuciones de esa canalización que usan el recurso se pausan. Cuando se completa la fase que usa el bloqueo, otra fase puede continuar con el uso del recurso. Además, solo se permitirá que continúe una fase. Se cancelarán todas las demás fases que intentaron tomar el bloqueo.
Administración de cambios de ServiceNow
Esta comprobación necesita que la extensión de Administración de cambios de ServiceNow se instale desde Marketplace.
La comprobación de administración de cambios de Servicenow permite una integración del proceso de administración de cambios de ServiceNow en las canalizaciones. Al agregar la comprobación, se puede crear automáticamente una nueva solicitud de cambio en ServiceNow al principio de la fase. La canalización espera a que se complete el proceso de cambio antes de iniciar la fase. Aquí encontrará más detalles al respecto.
Preguntas más frecuentes
Las comprobaciones definidas no se iniciaron. ¿Qué ha ocurrido?
La evaluación de comprobaciones se inicia una vez que se cumplen las condiciones de la fase. Debe confirmar la ejecución de la fase iniciada después de agregar las comprobaciones en el recurso y que el recurso se consume en la fase.
¿Cómo puedo usar comprobaciones para programar una fase?
Mediante la comprobación de horario comercial, puede controlar la hora de inicio de la ejecución de la fase. Puede lograr el mismo comportamiento que la programación predefinida en una fase de las versiones del diseñador.
¿Cómo puedo realizar aprobaciones anticipadas para una fase programada para ejecutarse en el futuro?
Este escenario se puede habilitar
- La comprobación de horario comercial permite programar la ejecución de todas las fases de implementación en un recurso entre el período de tiempo.
- Cuando se configuran aprobaciones en el mismo recurso, la fase esperaría a las aprobaciones antes de iniciarse.
- Puede configurar ambas comprobaciones en un recurso. La fase esperaría las aprobaciones y el horario comercial. Se iniciaría en la siguiente ventana programada una vez completadas las aprobaciones.
¿Puedo esperar a que finalice el examen de seguridad en el artefacto que se está implementando?
Para esperar a que finalice el examen de seguridad en el artefacto que se va a implementar, tendría que usar un servicio de análisis externo como AquaScan. El artefacto que se implementa tendría que cargarse en una ubicación accesible para el servicio de análisis antes del inicio de las comprobaciones y se puede identificar mediante variables predefinidas. Mediante la comprobación Invocar API REST, puede agregar una comprobación para esperar en la API en el servicio de seguridad y pasar el identificador de artefacto como entrada.
¿Cómo puedo usar variables de salida de fases anteriores en una comprobación?
De forma predeterminada, solo las variables predefinidas están disponibles para las comprobaciones. Puede usar un grupo de variables vinculado para acceder a otras variables. La variable de salida de la fase anterior se puede escribir en el grupo de variables y se puede acceder a esta en la comprobación.

