Compartir a través de


Mejoras en el panel de copia

Nos complace anunciar algunas mejoras largas esperadas en la versión preliminar del panel de copia. Ahora puede copiar un panel en un equipo diferente, el mismo equipo o un proyecto diferente, y la configuración de equipo y consulta se actualiza en el nuevo panel. Esto minimiza aún más el trabajo necesario para crear paneles similares desde cero para varios equipos.

Consulte las siguientes descripciones de características para obtener más información.

General

Azure Pipelines

Informes

General

Asignación del rol de administrador de Azure DevOps a un grupo de Azure AD

El rol Administrador de Azure DevOps, necesario para configurar directivas de inquilino de Azure AD en Azure DevOps, ahora se puede asignar a grupos de Azure AD. Obtenga más información sobre el uso de grupos de Azure AD para administrar asignaciones de roles en Azure AD.

Azure Pipelines

Reintentos automáticos para una tarea

Cuando se produce un error intermitente en una tarea con un error intermitente en una canalización, es posible que tenga que volver a ejecutar la canalización para que se realice correctamente. En la mayoría de los casos, la mejor manera de abordar una tarea o script es corregir la tarea o el propio script. Por ejemplo, si se produce un error en la tarea de prueba en una canalización debido a pruebas de calidad, siempre es una buena idea corregir las pruebas descamadas y hacer que sean más confiables. Del mismo modo, si el script produce un error una vez en un tiempo, es mejor corregir el script, por ejemplo mediante la introducción de reintentos en el script.

Sin embargo, hay algunos casos en los que es posible que quiera volver a intentar la tarea. Un caso de uso común para esto es una tarea que descarga un paquete (por ejemplo, NuGet, npm, etc.). A menudo hemos observado que estas tareas son susceptibles a errores de red y a los errores transitorios en los servidores de hospedaje de paquetes. Hemos oído sus comentarios que sería mejor reintentar automáticamente estas tareas con errores sin tener que reiniciar toda la canalización de nuevo.

En función de sus comentarios, hemos agregado una característica para reintentar automáticamente una tarea en una canalización cuando se produce un error. Si usa canalizaciones YAML, puede establecer esta entrada de la siguiente manera:

- task: <name of task>
   retryCountOnTaskFailure: <max number of retries>
   ...

Al usar canalizaciones de compilación o versión clásicas, puede establecer esta propiedad en las opciones de control de la tarea.

Estas son algunas cosas que se deben tener en cuenta al usar reintentos:

  • La tarea con errores se reintenta inmediatamente.
  • No hay ninguna suposición sobre la idempotencia de la tarea. Si la tarea tiene efectos secundarios (por ejemplo, si creó un recurso externo parcialmente), es posible que se produzca un error la segunda vez que se ejecute.
  • No hay información sobre el recuento de reintentos que está disponible para la tarea.
  • Se agrega una advertencia a los registros de tareas que indican que se ha producido un error antes de que se vuelva a intentar.
  • Todos los intentos de reintentar una tarea se muestran en la interfaz de usuario como parte del mismo nodo de tarea.

Nota:

Requiere la versión del agente 2.194.0 o posterior. No es compatible con tareassin agente.

Consumir entradas de otra tarea en un decorador

Recientemente hemos agregado una característica para insertar una tarea automáticamente en una canalización antes de otra tarea de destino en esa canalización. Ahora estamos mejorando esa característica al permitirle personalizar esa tarea insertada mediante los parámetros de entrada de la tarea de destino. La sintaxis para escribir un decorador para ello es la siguiente:

{
    "contributions": [
        {
            "id": <my-required-task>,
            "type": "ms.azure-pipelines.pipeline-decorator",
            "targets": [
                "ms.azure-pipelines-agent-job.pre-task-tasks",
                "ms.azure-pipelines-agent-job.post-task-tasks"
            ],
            "properties": {
                "template": "my-decorator.yml",
                "targettask": <target-task-id>,
                "targettaskinputs": ["<name of input>"]
            }
        }
    ],
    ...
}

Esta característica solo funciona cuando se usa pre-task-tasks o post-task-tasks como destino para la inserción y se especifica en targettask la sección de propiedades de la contribución. A continuación, puede agregar una propiedad adicional denominada targettaskinputs y especificar una lista de nombres de parámetros de entrada aceptados por la tarea de destino. Estas entradas ahora están disponibles para la tarea insertada.

Un caso de uso común que se puede llevar a cabo en este escenario es el siguiente. Supongamos que quiere insertar una tarea que registrará automáticamente el nombre del artefacto que publica una compilación. El nombre del artefacto es una entrada para la PublishBuildArtifacts tarea. La tarea insertada ahora puede obtener el mismo parámetro de entrada y usarlo para el registro.

Mejoras en el historial de uso de conexiones de servicio

Cuando una canalización usa una conexión de servicio, ese uso se registra en el historial de la conexión. Los administradores de la conexión de servicio pueden revisar el historial de uso; para ello, vaya a la configuración del proyecto y seleccione la conexión de servicio adecuada. Hubo algunos problemas con el historial de uso de las conexiones de servicio que se han corregido con esta actualización. Entre las correcciones se incluyen las siguientes:

  • Cuando se usa una conexión de servicio en un trabajo de implementación (en lugar de un trabajo normal), ese uso no se registró.
  • Si ha usado varias conexiones de servicio en varias fases de una canalización, todas las conexiones de servicio mostrarán un registro en su historial de uso aunque se omitan algunas de las fases.

La especificación predeterminada del agente para canalizaciones clásicas ahora es Windows-2019

En las notas de la última versión, anunciamos una programación de desuso para vs2017-win2016 imágenes hospedadas. Como preparación para ello, ahora estamos cambiando la especificación predeterminada del agente al crear nuevas canalizaciones en canalizaciones clásicas a windows-2019.

Especificación del agente

Informes

Mejoras en el panel de copia

Nos complace anunciar la versión preliminar pública de la fase 2 del panel de copia. Las consultas y la configuración ahora se transfieren con la operación de copia. Gracias por su paciencia, ya que tardó un poco más de lo esperado en resolver algunos de los problemas.

La versión preliminar está activada de forma predeterminada con la marca de característica Experiencia de copia del panel (en características en versión preliminar).

Para copiar un panel, vaya primero al panel que desea copiar. En segundo lugar, haga clic en el menú para abrir Copiar panel y, a continuación, haga clic en él.

Copiar panel

A continuación, proporcione el nombre y la descripción del nuevo panel y, a continuación, seleccione el tipo de panel, Equipo o Proyecto. Al seleccionar un panel de equipo, el nuevo proyecto y el equipo se seleccionan en los cuadros desplegables correspondientes. En el caso de un panel de Project, solo se requiere el proyecto.

Nuevo panel

Se le pedirá al panel recién creado después de hacer clic en el botón Crear . Los widgets y el diseño siguen siendo los mismos.

En segundo plano, se crea una carpeta con el nombre del nuevo panel en Consultas compartidas. Todas las consultas del nuevo panel se copian en esa carpeta. Los nombres de consulta siguen siendo los mismos. Los widgets con una configuración de equipo se actualizan con el nuevo equipo. Los widgets con una configuración de equipo que se copia de un panel de equipo en un panel de proyecto conservan la configuración original.

Filtrar por valores NULL en el widget del gráfico de evolución

Ahora puede filtrar por un valor NULL al usar Criterios de campo en el widget del gráfico de evolución. Este comportamiento es ahora coherente con una consulta con los mismos criterios de campo.

Configuración de criterios de campo

Pasos siguientes

Nota:

Estas características se implementarán en las próximas dos a tres semanas.

Vaya a Azure DevOps y eche un vistazo.

Cómo enviar sus comentarios

Nos encantaría saber lo que piensas sobre estas características. Use el menú de ayuda para notificar un problema o proporcionar una sugerencia.

Hacer una sugerencia

También puede recibir consejos y sus preguntas respondidas por la comunidad en Stack Overflow.

Gracias,

Aaron Hallberg