Compatibilidad con GitHub Enterprise y conexiones automáticas de servicio de GitHub en canalizaciones de compilación: Actualización de Sprint 146

En la actualización sprint 146 de Azure DevOps, hemos mejorado la integración de GitHub con Azure Pipelines. Ahora el asistente Nueva canalización de compilación puede crear canalizaciones para repositorios de GitHub Enterprise. También analiza su repositorio para proporcionar una plantilla de lenguaje sugerida. Además, puede crear y volver a usar conexiones de servicio para los repositorios de GitHub que seleccione.

Consulte la lista de características siguiente para obtener más información.

Características

General:

Azure Boards:

Azure Pipelines:

Azure Artifacts:

Wiki:

General

Restauración de proyectos eliminados

En esta actualización, hemos agregado la capacidad de restaurar proyectos eliminados desde el portal de Azure DevOps. Si tiene permiso de "eliminar proyecto", también puede restaurar un proyecto eliminado de la página de información general de la organización Configuración>.

Azure Boards

Simplifique la organización de su trabajo con el proceso básico

Importante

El proceso Básico está en versión preliminar pública como proceso predeterminado para los nuevos proyectos dentro de las nuevas organizaciones creadas en la región Centro de EE. UU.

Históricamente, Agile ha sido el proceso predeterminado para los nuevos proyectos, ofreciendo un conjunto sólido y flexible de tipos y estados de elementos de trabajo para adaptarse a una variedad de métodos de entrega de proyectos. Para algunos equipos, que están más familiarizados con otras herramientas o que están creciendo y quieren adoptar un conjunto de herramientas más eficaz, quieren empezar a usar rápidamente la terminología con la que están más familiarizados.

El nuevo proceso Básico proporciona tres tipos de elementos de trabajo (Epopeyas, problemas y tareas) para planear y realizar un seguimiento del trabajo. Se recomienda usar Problemas para realizar un seguimiento de cosas como casos de usuario, errores y características al usar Epopeyas para agrupar problemas en unidades de trabajo más grandes. A medida que avanza en el trabajo, mueva los elementos a lo largo de un flujo de trabajo de estado simple de To Do, Doing y Done.

Organize work using the Basic process.

Consulte la documentación de seguimiento de problemas y tareas para ayudarle a empezar a trabajar con el nuevo proyecto.

Azure Pipelines

Compatibilidad con GitHub Enterprise en el asistente para canalizaciones

Anteriormente, podría usar el diseñador visual para crear canalizaciones para repositorios de GitHub Enterprise. Ahora, también puede usar el Asistente para nueva canalización de compilación para crear las canalizaciones.

GitHub Enterprise support in the pipeline wizard.

El asistente analiza el repositorio de GitHub Enterprise para sugerir una plantilla YAML que coincida con el lenguaje del proyecto. A continuación, puede editar y guardar el ARCHIVO YAML como confirmación directa en la rama predeterminada o como una solicitud de incorporación de cambios.

Edit and save the YAML.

Para más información, consulte la documentación sobre cómo crear la primera canalización aquí.

Conexiones de servicio de GitHub automáticas en las canalizaciones

Al usar el Asistente para nueva canalización de compilación para crear una canalización para GitHub, la página para elegir o crear una conexión de servicio de GitHub provocó confusión sobre qué conexión seleccionar en la lista. Ahora, no es necesario elegir una conexión. El asistente crea y vuelve a usar automáticamente una conexión de servicio para el repositorio que elija.

Si desea elegir manualmente una conexión distinta de la seleccionada automáticamente, siga el hipervínculo Elegir conexión . Para más información, consulte Compilación de repositorios de GitHub.

Nota:

La selección se basa en la aplicación gitHub de Azure Pipelines (si está instalada en el repositorio) o en la identidad personal de GitHub (mediante OAuth).

Visualización del estado de cada trabajo de canalización en GitHub Checks

Anteriormente, se publicó un estado de compilación único en GitHub Checks for your pipeline incluso si incluía trabajos para varias plataformas (por ejemplo, Linux, macOS y Windows). Ahora, el estado se publica en GitHub Comprueba cada trabajo de la canalización. Además, puede volver a ejecutar toda la compilación o solo trabajos con errores individuales desde comprobaciones de GitHub. Para usar esta funcionalidad, la canalización debe configurarse para usar la aplicación gitHub de Azure Pipelines. Para obtener más información, consulte Integración con la aplicación de GitHub. Para configurar una canalización con trabajos para varias plataformas, consulte Creación de una canalización multiplataforma.

Display status for each pipeline job.

Autorización predeterminada para recursos de YAML en GitHub

Si administra el código fuente en GitHub y usa YAML para definir la canalización, probablemente experimentó un error de compilación de autorización de recursos. Al editar el archivo YAML y agregar una referencia a uno de los recursos protegidos (por ejemplo, conexión de servicio, grupo de agentes, grupo de variables o archivo seguro), Azure Pipelines no pudo validar la identidad del usuario que realizó ese cambio y produjo un error en la compilación. Para solucionar este problema, tenía que guardar la canalización de compilación en el editor web después de realizar un cambio en el archivo YAML. Muchos de los usuarios que alcanzaron este problema simplemente quisieron permitir que todas las canalizaciones usen el recurso.

Para evitar el error de compilación de autorización de recursos, hemos cambiado el comportamiento predeterminado de todas las nuevas conexiones de servicio, grupos de agentes y grupos de variables que se van a autorizar para su uso en todas las canalizaciones. Si desea controles más estrictos en los recursos, puede deshabilitar el modelo de autorización predeterminado (consulte la figura siguiente). Al hacerlo, alguien con permisos para usar el recurso debe guardar la canalización en el editor web después de agregar una referencia de recurso al archivo YAML.

Default authorization for YAML resources.

Contenedores de servicio para canalizaciones de YAML

Anteriormente, tenía que instalar, iniciar y detener servicios como bases de datos o cachés de memoria si la canalización de YAML usaba estos servicios. Con esta actualización, hemos agregado contenedores de servicio que pueden controlar estas tareas. Por ejemplo, si la canalización usa una caché de redis para las pruebas de integración, puede incluir la imagen de contenedor de Redis como servicio en la canalización. El agente capturará automáticamente la imagen, la iniciará y la red para que los pasos de la canalización puedan hacer referencia a ella mediante el nombre de host redis. Una vez completada la canalización, el agente pondrá en marcha el contenedor de servicios de forma limpia.

Elementos de trabajo vinculados a confirmaciones de GitHub en el resumen de versión

En diciembre se introdujo la capacidad de vincular confirmaciones de GitHub a elementos de trabajo. Nos complace anunciar que ahora puede ver todos los elementos de trabajo de Azure Boards vinculados a confirmaciones de GitHub en la página de resumen de la versión. Esto ayudará a los equipos a realizar un seguimiento y recuperar más información sobre las confirmaciones que se han implementado en un entorno.

Nuevas tareas del servicio App de Azure optimizadas para YAML

Ahora se admiten cuatro nuevas tareas que proporcionan una manera sencilla y eficaz de implementar App de Azure Services teniendo en cuenta a los desarrolladores modernos. Estas tareas tienen una sintaxis YAML optimizada, lo que facilita e intuitiva la creación de implementaciones en App de Azure Services, como WebApps, FunctionApps, WebApps for Containers y FunctionApp for Containers en plataformas Windows y Linux.

También se admite una nueva tarea de utilidad para la transformación de archivos y la sustitución de variables para formatos XML y JSON.

Compatibilidad con la autenticación de Azure Active Directory (AD) para la tarea de Azure SQL

La tarea de Azure SQL se ha mejorado para admitir la conexión a una base de datos mediante Azure AD (integrada y contraseña) y una cadena de conexión además de la compatibilidad existente con la autenticación de SQL Server.

Azure AD authentication support for Azure SQL task.

Enlace de servicio para anotaciones Grafana

Ahora se admite un nuevo enlace de servicio que le permite agregar anotaciones de Grafana para eventos de implementación completados a un panel de Grafana. Esto le permite correlacionar las implementaciones con los cambios en las métricas de aplicación o infraestructura que se visualizan en un panel de Grafana.

Grafana annotations service hook.

Consulta de las tareas de alertas de Azure Monitor

La versión anterior de la tarea Consulta de Azure Monitors solo admite la consulta de alertas en la experiencia de supervisión clásica. Con esta nueva versión de la tarea, puede consultar alertas sobre la experiencia de supervisión unificada introducida recientemente por Azure Monitor.

Query Azure Monitor alerts tasks.

Entrada insertada del archivo de especificaciones en la tarea de implementación en Kubernetes

Anteriormente, la tarea de implementación de Kubernetes requería proporcionar una ruta de acceso de archivo para la configuración. Ahora también puede agregar la configuración insertada.

Inline input of spec file in Deploy to Kubernetes task.

Tarea del instalador de la CLI de Docker

Esta tarea permite la instalación de cualquier versión de la CLI de Docker en los agentes según lo especificado por el usuario.

Docker CLI Installer task.

Soporte técnico a largo plazo (LTS) para Java en agentes hospedados de Microsoft

Anteriormente, los agentes hospedados de Microsoft tenían JDK preinstalados sobrecargados por licencias complejas, restricciones de usuario final y falta de soporte técnico a largo plazo. En esta actualización, reemplazamos los JDK por compilaciones de OpenJDK probadas, certificadas y certificadas de OpenJDK de Azul Systems. Los desarrolladores de Java que usan Azure ahora pueden compilar y ejecutar aplicaciones Java de producción mediante compilaciones de Azul Systems Zulu Enterprise de OpenJDK sin incurrir en costos de soporte técnico adicionales.

Esta nueva oferta está diseñada para hacer que las compilaciones y las implementaciones de Java hospedadas por Microsoft no se preocupen incorporando actualizaciones de seguridad trimestrales y correcciones de errores, así como actualizaciones y revisiones críticas fuera de banda según sea necesario. Si está compilando o ejecutando aplicaciones java locales o con otros JDK, considere la posibilidad de pasar a Zulu en Azure para obtener soporte y mantenimiento gratuitos. Para obtener más información, consulte el blog Microsoft and Azul Systems bring free Java LTS support to Azure (Microsoft and Azul Systems bring free Java LTS support to Azure(Soporte técnico de Java LTS gratis en Azure).

Compatibilidad de YAML con canalizaciones de Bitbucket Cloud

Anteriormente, las canalizaciones basadas en YAML no admitieron Bitbucket Cloud. Ahora, puede usar YAML para definir las canalizaciones de Bitbucket Cloud o usar el diseñador visual para hacer lo mismo. Para usar YAML, agregue un archivo azure-pipelines.yml al repositorio. En Azure Pipelines, elija Nueva canalización de compilación y, a continuación, seleccione Usar el hipervínculo del diseñador visual, seleccione "Bitbucket Cloud" y "YAML". Aquí puede escribir la ruta de acceso al archivo YAML del repositorio.

Para más información, consulte la guía de sintaxis de YAML y el repositorio de GitHub de ejemplos de YAML.

Evitar desencadenar varias compilaciones de integración continua para solicitudes de incorporación de cambios

Las plantillas de compilación de YAML incluidas con Azure Pipelines se configuraron para desencadenar compilaciones para cualquier rama dentro de un repositorio. Esto incluye ramas de temas de solicitud de incorporación de cambios. Como resultado, se desencadenaron dos compilaciones cuando se crearon solicitudes de incorporación de cambios. Una compilación de la rama de solicitud de incorporación de cambios en respuesta al desencadenador de integración continua y una segunda compilación para la rama de solicitud de incorporación de cambios en respuesta al desencadenador de solicitud de incorporación de cambios.

Con el fragmento de código YAML siguiente, las plantillas YAML integradas se configurarán para desencadenar una compilación de integración continua solo para la rama maestra . Las nuevas solicitudes de incorporación de cambios se seguirán compilando mediante el desencadenador de solicitud de incorporación de cambios. Para más información, consulte la documentación de desencadenadores de canalización de compilación.

trigger:
- main

Cambio de los números de compilación, carga y descarga de artefactos en compilaciones de repositorios bifurcados

Hasta ahora, las compilaciones de validación de solicitudes de incorporación de cambios para repositorios bifurcadas no tenían permiso para cargar y descargar artefactos de compilación o cambiar el número de compilación. Los permisos estaban restringidos porque no era seguro hacer que los permisos de ámbito más amplio del agente estuvieran disponibles durante una compilación de bifurcación desencadenada por un usuario desconocido. Con esta actualización, los permisos del agente se limitan para que la canalización pueda realizar estas operaciones si es necesario.

A continuación se muestra un ejemplo de YAML que puede usar para archivar las salidas de compilación en un archivo tar.gz en el directorio de almacenamiento provisional del artefacto. A continuación, publica la salida en Azure Pipelines para asociarla a la compilación. Para obtener más información, consulte la documentación sobre la tarea Archivar archivos y publicar artefactos de compilación.

- task: ArchiveFiles@2
  inputs:
    archiveType: 'tar'
    tarCompression: 'gz'
    includeRootFolder: false
    rootFolderOrFile: '$(build.sourcesDirectory)/target'
    archiveFile: '$(build.artifactStagingDirectory)/$(build.buildId).tar.gz'
- task: PublishBuildArtifacts@1
  inputs:
    pathtoPublish: '$(build.artifactStagingDirectory)'

Nueva opción en la tarea "Publicar resultados de la prueba" para descartar la compilación si alguna prueba da error

La tarea Publicar resultados de pruebas se usa para publicar resultados de prueba en Azure Pipelines cuando se ejecutan pruebas mediante la elección del ejecutor de pruebas. Hasta ahora, la tarea simplemente publicaría los resultados de un archivo de resultados y no produciría un error en la compilación incluso si el archivo de resultados contenía pruebas con errores. Esto significaba que tenía que escribir pasos personalizados para que se produzca un error de compilación en los errores de prueba.

Ahora hemos agregado una opción en la tarea para producir un error en la compilación si hay pruebas con errores.

Fail the build if there are any failed tests.

Novedades a Azure Portal para crear un proyecto de Azure DevOps

Azure Portal ahora incluye funcionalidad adicional para admitir más marcos y servicios al crear un proyecto de Azure DevOps. A continuación se muestra la lista de cambios para cada área.

Marco de trabajo

Azure IoT es un servicio totalmente administrado que ofrece inteligencia en la nube localmente en dispositivos IoT multiplataforma. Ahora, puede crear un proyecto de Azure DevOps desde Azure Portal y usar Simple IoT como marco de trabajo de la aplicación.

Use the Simple IoT as the application framework.

Servicio

Anteriormente, el flujo de trabajo Create Azure DevOps Project in the Azure Portal only supported Create New as an option for Kubernetes Service (Crear nuevo como opción para Kubernetes Service). Se ha agregado una nueva opción para permitirle elegir un clúster existente como destino de implementación para la configuración de la canalización.

Choose an existing cluster as the deployment target for the pipeline setup.

Uso de Azure Portal para configurar e implementar en una base de datos de CosmosDB

Actualmente, puede usar el flujo de trabajo de Azure DevOps Project en Azure Portal para configurar canalizaciones de compilación y versión para un repositorio de Git. Ahora, puede implementar en Azure Web App for Containers (Linux) o Azure Kubernetes Service con una instancia de CosmosDB aprovisionada como base de datos que respalda las aplicaciones en estos destinos. Esto está disponible actualmente para todas las plantillas de Node.js y esperamos agregar compatibilidad con otras plantillas en el futuro.

Use the Azure Portal to set up and deploy to an Azure Cosmos DB database.

Configuración de compilaciones y canalizaciones de versión para Functions en Azure Portal

Ahora puede usar el flujo de trabajo de Azure DevOps Project en Azure Portal para configurar canalizaciones de compilación y versión para el repositorio de Git que implementan Azure Functions 2.0 (Windows). Esta es la funcionalidad disponible para Node.js y .NET Core.

Set up builds and release pipelines for Functions in Azure portal.

Azure Artifacts

Estadísticas de uso de paquetes

Hasta ahora, Azure Artifacts no proporcionó una manera de medir el uso o la popularidad de los paquetes. Con esta actualización, hemos agregado un recuento de descargas y usuarios tanto a la lista de paquetes como a las páginas de detalles del paquete. Puede ver las estadísticas en el lado derecho de cualquiera de las páginas.

Package usage stats.

Wiki

Fuente monoespacial para el editor de Wiki Markdown

Con la introducción de fuentes monoespaciales para el editor de Markdown wiki, la legibilidad ya no es un desafío. El origen de Markdown se ve limpio y fácil de leer. Esta característica se ha priorizado en función de este vale de sugerencia.

Monospaced font for Wiki Markdown editor.

Títulos de página Wiki en negrita

Anteriormente, tanto el título de la página Wiki como el encabezado 1 tenían el mismo aspecto. Esto dificultaba a los lectores diferenciarlos. Ahora, los títulos de la página Wiki se han hecho en negrita y se han diferenciado del encabezado 1. Esta característica se ha priorizado en función de este vale de sugerencia.

Bold Wiki page titles.

Inserción de tablas Markdown

La creación de tablas de Markdown en una wiki ya no es un desafío. Ahora puede agregar una tabla Markdown con un clic de un botón. Esta característica se ha priorizado en función de esta incidencia de sugerencia de característica.

Insert Markdown table.

Inserción de resultados de consulta de Azure Boards en wiki

Ahora puede insertar resultados de consulta de Azure Boards en una página wiki en forma de tabla. En la imagen siguiente se muestra un ejemplo de una página wiki con una lista de todas las características publicadas y todos los errores activos del sprint actual insertado en la wiki. El contenido que se muestra en la página usa una consulta de elemento de trabajo existente. Con esta nueva característica puede crear contenido dinámico y no es necesario preocuparse por actualizar manualmente la página wiki.

Embed Azure Boards query results in Wiki.

Los resultados de la consulta se pueden agregar en dos pasos.

  1. Haga clic en el botón "Resultados de la consulta" de la barra de herramientas de edición.

Select the Query Results button from the edit toolbar.

  1. Seleccione la consulta necesaria y haga clic en el botón "Insertar".

Los resultados de la consulta ahora se pueden ver en forma de tabla después de guardar la página.

View results of the query.

Esto se ha priorizado en función de las siguientes sugerencias de características:

  1. Consultas de elementos de trabajo en wiki
  2. Agregar contenido wiki dinámico

Pasos siguientes

Nota:

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

Obtenga información sobre las nuevas características siguientes y diríjase a Azure DevOps para probarlas usted mismo.

Cómo enviar sus comentarios

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

Make a suggestion

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

Gracias,

Jeremy Epling