Compartir a través de


Notas de la versión de Team Foundation Server 2018


Developer Community | Requisitos del sistema y compatibilidad | Términos de licencia | Blog de TFS DevOps | Valores hash de SHA-1 | Notas de la versión de Visual Studio 2019 más recientes


Nota:

Si accede a esta página desde una versión de idioma distinta del inglés y quiere ver el contenido más actualizado, visite la página Notas de la versión en inglés. Para cambiar el idioma de esta página, haga clic en el icono de globo del pie de página y seleccione el idioma que desee.


En este artículo encontrará información sobre Team Foundation Server 2018. Haga clic en el botón para realizar la descarga.

Descargar la última versión de Team Foundation Server 2017

Para obtener más información sobre Team Foundation Server 2018, vea la página Compatibilidad y requisitos de Team Foundation Server. Visite la página visualstudio.com/downloads para descargar otros productos de TFS 2018.

Vea la página de instalación de TFS para obtener más información.


Icono de notas de la versión Fecha de lanzamiento: 15 de noviembre de 2017

Resumen de las novedades en TFS 2018

Se han incorporado muchos valores nuevos a Team Foundation Server 2018. Entre los aspectos destacados se incluyen:

Vídeo sobre las novedades en TFS 2018

Compilación XAML

Originalmente habíamos mencionado que la compilación XAML había sido eliminada de TFS 2018 RTW y de la Actualización 1. Sin embargo, muchos clientes no pudieron actualizar o tuvieron que ponerse en contacto con el servicio de soporte técnico para habilitarlo de nuevo después de realizar la actualización. En TFS 2018 Update 2, la compilación XAML está habilitada, pero ha sido obsoleta. Esto significa que ya no se invertirán recursos en la compilación XAML y que Microsoft Test Manager (MTM) ya no admite el uso de compilaciones XAML. Recomendamos encarecidamente convertir a uno de los nuevos formatos de definición de compilación. Con TFS 2018 Update 2 podrá seguir conectando sus controladores XAML y podrá seguir ejecutando sus compilaciones XAML. Más información

Características eliminadas en TFS 2018 RTW


Detalles de las novedades en TFS 2018

Seguimiento de elementos de trabajo

Asistente para la creación de proyectos en la Web

Se ha mejorado la experiencia de creación de proyectos de equipo desde la Web. Ahora, al crear un proyecto de equipo en el cliente de Visual Studio, se incluyen la mayoría de las características disponibles. La ventaja de usar la interfaz web es que no necesita una versión coincidente de Visual Studio. La diferencia entre usar Visual Studio o la versión web es que esta última no ofrece informes de SSRS. Si ha utilizado la versión web para la creación de proyectos de equipo, puede ejecutar el comando tfsconfig en la capa de aplicación para que se proporcionen o actualicen los informes SSRS.

Administrador de plantillas de proceso en la Web

Con TFS 2018, puede usar el acceso web para cargar plantillas de proceso. La interfaz web es una experiencia mucho más sencilla porque no exige instalar la versión correcta de Visual Studio para interactuar con las plantillas de proceso. Aunque Visual Studio 2017 Update 4 y las versiones anteriores seguirán mostrando el cuadro de diálogo del Administrador de plantillas de proceso, le recomendamos que utilice la interfaz web. Visual Studio 2017 Update 5 y las versiones posteriores le redirigirán automáticamente a la Web.

Personalizar el encabezado del formulario de elementos de trabajo

Ya puede personalizar el área de encabezado de un formulario de elementos de trabajo si reemplaza (u oculta) los controles existentes que no sean relevantes para su proceso. Esto le permitirá reemplazar la ruta de acceso del área por un campo de equipo personalizado, ocultar la iteración si sus equipos están más centrados en el enfoque Kanban, y reemplazar el motivo por un campo personalizado. El campo de estado no se puede ocultar ni reemplazar.

Sugerencia

Vea la documentación de los elementos WebLayout y Control para más información.

Formulario móvil de elemento de trabajo

Ofrecemos una experiencia integral con una apariencia optimizada para elementos de trabajo (figura 1). Permite de manera sencilla interactuar con los elementos que te han sido asignados, que estás siguiendo, que has visitado o que has editado recientemente desde tu teléfono.

Consulta de elemento de trabajo móvil
(Figura 1) Consulta de elemento de trabajo móvil

Además de tener una buena apariencia, esta experiencia admite controles optimizados para todos los tipos de campo (Figura 2).

Formulario de elemento de trabajo móvil
(Figura 2) Formulario de elemento de trabajo móvil

Con la nueva navegación para móviles (Figura 3), los usuarios pueden ir a otras partes de TFS optimizadas para móviles y regresar al sitio de escritorio completo si necesitan interactuar con otros concentradores.

Navegación móvil
(Figura 3) Navegación móvil

Filtrar según los trabajos pendientes, los paneles kanban, los sprints y las consultas

En todas nuestras experiencias de cuadrícula de seguimiento de elementos de trabajo (consultas, acumulaciones, tableros Kanban, trabajos pendientes de sprint y administración de casos de prueba), ahora se utiliza nuestro componente de filtrado uniforme y común (Figura 4). Además de aplicar un filtro de palabras clave en las columnas mostradas y seleccionar etiquetas, también puede filtrar por tipos de elemento de trabajo, estados y usuarios asignados para acceder rápidamente a los elementos de trabajo que busque.

Filtrado en la consulta
(Figura 4) Filtrado en consultas

Expandir para mostrar campos vacíos en una tarjeta kanban

Ahora puede agregar campos adicionales a una tarjeta y ocultar campos vacíos(Figura 5) desde la configuración del panel para quitar elementos innecesarios. El inconveniente de esta característica es que, una vez que se ha ocultado un campo vacío, la única forma de actualizarlo es abriendo el formulario de elemento de trabajo. La nueva opción de expansión de las tarjetas kanban le permite beneficiarse de la ocultación de campos vacíos en el tablero, pero sin perder el acceso con un solo clic a la actualización de un campo concreto de la tarjeta. Para actualizar el campo oculto, simplemente pasa el puntero sobre la tarjeta y busca el cheurón hacia abajo en la parte inferior de la tarjeta.

Campo oculto
(Figura 5) Campo oculto en una tarjeta kanban

Haga clic en el cheurón hacia abajo en la parte inferior de la tarjeta para actualizar el campo (Figura 6).

Actualizar campo oculto
(Figura 6) Actualización de campo oculto en una tarjeta kanban

Las extensiones bloquean el guardado de elementos de trabajo

Ahora, los controles personalizados, los grupos y las páginas del formulario de trabajo pueden bloquear el guardado del elemento de trabajo para validar los datos y garantizar que el usuario complete cualquier información requerida antes de guardar el formulario del elemento de trabajo.

Incorporación en línea de los planes de entrega

En cualquier momento se pueden tener ideas de características nuevas, así que se ha facilitado la adición de características nuevas directamente a los planes de entrega(Figura 7). Solo tiene que hacer clic en el botón Nuevo elemento disponible al pasar el puntero, escribir un nombre y presionar ENTRAR. Se crea una nueva función con la ruta de acceso del área y la ruta de iteración que cabría esperar.

Adiciones integradas en los programas de entrega
(Figura 7) Agregación insertada en los planes de entrega

Control de versiones

Bifurcaciones

En TFS 2018 se ha agregado compatibilidad con bifurcaciones de Git (Figura 8). Un fork es una copia del repositorio en el lado del servidor. Con los forks, puede permitir que un gran número de personas contribuya a su repositorio sin concederles acceso de confirmación directo. En su lugar, confirman su trabajo en su propia bifurcación del repositorio. Esto le da la oportunidad de revisar los cambios en un pull request antes de aceptarlos en el repositorio central.

Bifurcaciones de Git
(Figura 8) Bifurcaciones de Git

GVFS

Ahora se admite Git Virtual File System (GVFS). GVFS permite que los repositorios Git escalen millones de archivos virtualizando y optimizando el funcionamiento de Git en el sistema de archivos.

Crear una carpeta en un repositorio mediante la Web

Ahora puede crear carpetas a través de Internet en los repositorios de TFVC y Git (figura 9). Así se reemplaza la extensión Folder Management, que se someterá al proceso de degradación.

Para crear una carpeta, haga clic en Nuevo > Carpeta en la barra de comandos o en el menú contextual:

Opción de nueva carpeta
(Figura 9) Opción de nueva carpeta

En TFVC se especifica un nombre de carpeta y luego se inserta en el repositorio. En Git, dado que no se permiten las carpetas vacías, además tiene que especificar un nombre de archivo, opcionalmente editarlo y luego confirmarlo.

Además, para Git, se ha mejorado el cuadro de diálogo Nuevo archivo(Figura 10) para que acepte barras diagonales y así crear subcarpetas.

Cuadro de diálogo Nuevo archivo
(Figura 10) Cuadro de diálogo Nuevo archivo

Minimapa de archivos

Ahora puede ver un minimapa de un archivo mientras lo consulta o edita, y tener así una visión general rápida del código (Figura 11). Para activar el minimapa, abra la paleta de comandos (F1 o clic con el botón derecho) y haga clic en Toggle Minimap (Alternar minimapa).

Minimapa de archivos
(Figura 11) Minimapa de archivo

Coincidencia de paréntesis

Ahora, al editar o consultar un archivo, hay unas directrices en el lado izquierdo para que resulte sencillo hacer coincidir los corchetes (Figura 12).

Coincidencia de corchetes
(Figura 12) Emparejamiento de paréntesis

Alternar los espacios en blanco

Ahora puede activar o desactivar los espacios en blanco al ver o editar un archivo. Todavía estamos desarrollando una funcionalidad que permitirá alternar la visibilidad de los espacios en blanco al comparar diferencias. Para ver los espacios en blanco (Figura 13), abra la Paleta de Comandos (F1 o clic con el botón derecho) y seleccione Alternar Espacios en Blanco, lo que le permite diferenciar entre espacios y tabulaciones.

Alternar los espacios en blanco
(Figura 13) Cambiar la visualización de espacios en blanco

Configuración para desactivar la edición web para repositorios de TFVC

Los equipos que utilizan TFVC suelen utilizar directivas de registro de cambios en Visual Studio para garantizar la calidad del código. Pero como estas directivas se aplican en el cliente, el código que se edita en Internet no está sujeto a las mismas directivas.

Varias personas han solicitado una forma de deshabilitar la edición web para impedir los cambios que omiten las políticas de registro. Se ha habilitado una forma de desactivar la edición web (agregar, eliminar, cambiar el nombre y editar) para TFVC en un proyecto o repositorio.

Para no permitir la edición web desde la página Archivos, vaya a Configuración y, después, seleccione Control de versiones(Figura 14). En el árbol, haga clic en el repositorio de TFVC, vaya a la pestaña Opciones y desactive Habilitar la edición web para este repositorio TFVC. De forma predeterminada, la edición web está habilitada.

Nota:

Esto no afectará a la edición del archivo LÉAME desde la página Información general del proyecto.

Desactivar la edición web
(Figura 14) Desactivar la edición web

Si intenta efectuar una edición web en un proyecto con la edición web deshabilitada, se le indica que la edición web no está permitida (figura 15).

Cuadro de diálogo de edición web no permitido
(Figura 15) Cuadro de diálogo No se permite la edición web

Identificar ramas obsoletas

Si mantiene el repositorio limpio mediante la eliminación de ramas que ya no necesita, los equipos podrán encontrar las ramas que les interesen y establecer los favoritos con la granularidad adecuada. En cambio, si el repositorio contiene muchas ramas, puede ser difícil determinar cuáles están inactivas y se pueden eliminar. Se ha simplificado la identificación de ramas "obsoletas" (ramas que apuntan a confirmaciones con más de tres meses de antigüedad). Para ver las ramas obsoletas, vaya a la ficha Obsoletas en la página Ramas(Figura 16).

Ramas obsoletas
(Figura 16) Ramas obsoletas

Buscar una rama eliminada y volver a crearla

Cuando una rama se elimina por error del servidor, puede ser difícil saber qué ha sucedido. Ahora puede buscar las ramas eliminadas, ver quién las ha eliminado y cuándo, y volver a crearlas, si lo desea.

Para buscar una rama eliminada, escriba el nombre completo de la rama en el cuadro de búsqueda de ramas. Se mostrarán todas las ramas existentes que coincidan con ese texto. También verá una opción para buscar una coincidencia exacta en la lista de las ramas eliminadas. Haga clic en el vínculo para buscar ramas eliminadas (Figura 17).

Búsqueda de ramas eliminadas
(Figura 17) Buscar ramas eliminadas

Si se encuentra una coincidencia, verá quién la eliminó y cuándo. También puede restaurar la rama (Figura 18).

Restaurar ramas eliminadas
(Figura 18) Restaurar ramas eliminadas

Al restaurar una rama, se volverá a crear en el commiteo donde estaba ubicado por última vez. Sin embargo, las directivas y los permisos no se restaurarán.

Buscar una confirmación en ramas que empiezan con un prefijo

Si tiene una estructura de ramas en formato jerárquico, en el que todas las ramas tienen un prefijo de texto, esta característica le ayudará a buscar una confirmación en todas las ramas que tengan ese texto como prefijo. Por ejemplo, si quiere ver si una confirmación se dirigió a todas las ramas que tenían "dev" como prefijo, escriba "dev" en el cuadro de búsqueda y haga clic en Buscar en ramas que empiecen por "dev"(Figura 19).

Búsqueda de una confirmación
(Figura 19) Buscar una confirmación

Llamada enriquecida de pull request en la página de detalles del commit

El aviso del pull request en la página de detalles del commit muestra información más relevante para mejorar el diagnóstico (figura 20). Ahora también se muestra la primera solicitud de incorporación de cambios que introdujo la confirmación en alguna de las ramas y la solicitud de incorporación de cambios asociada a la rama predeterminada en la llamada.

Notificación de pull request
(Figura 20) Llamada de solicitud de incorporación de cambios

Filtrar la vista de árbol en Code

Para acceder a los archivos, ya no es necesario desplazarse por todos los archivos que se han modificado en una confirmación. La vista de árbol en las páginas de detalles de la confirmación, solicitudes de incorporación de cambios, detalles del shelveset y detalles del conjunto de cambios ahora admite el filtrado de archivos y carpetas. Este es un filtro inteligente que muestra archivos secundarios de una carpeta al filtrar por nombre de carpeta, y muestra una vista de árbol contraída de un archivo para ver la jerarquía de archivos al filtrar por nombre de archivo.

Busque un filtro de archivo o carpeta en el árbol de confirmación (Figura 21) y (Figura 22):

Buscar un archivo o una carpeta
(Figura 21) Búsqueda de archivos o carpetas
Vista filtrada
(Figura 22) Vista filtrada en el árbol de confirmación

La página de actualizaciones de ramas ahora es Envíos

La página Actualizaciones de ramas es muy útil. Sin embargo, estaba oculta como un control dinámico en el concentrador Historial. A partir de ahora, la página de actualizaciones de rama está visible como una central denominada Pushes(Figura 23) en Código, junto a Commits, Ramas, Etiquetas y Pull Requests. La nueva dirección URL para la página de empujes es: \<tfsserverurl\>/\<projectname\>/_git/\<reponame\>/pushes. Las direcciones URL antiguas seguirán funcionando.

Empujar página
(Figura 23) Empuja página

Al mismo tiempo, se ha cambiado el nombre del concentrador Historial, que ahora se denomina Confirmaciones(Figura 24), puesto que en este concentrador solo se muestran confirmaciones. Hemos recibido comentarios que indicaban que a las personas les resultaba difícil solucionar problemas relacionados con los commits, porque en la lista de commits solo se mostraba la hora detallada al pasar el ratón por encima. Ahora la vista de lista de confirmaciones en su instancia mostrará la fecha y la hora en formato dd/mm/aa hh:mm. La nueva dirección URL para la página de confirmaciones es: \<tfsserverurl\>/\<projectname\>/_git/\<reponame\>/commits. Las direcciones URL antiguas seguirán funcionando.

Página Confirmaciones
(Figura 24) Página de Commits

Conservar el nombre de archivo al mover de Archivos a Confirmaciones

Se han recibido comentarios de usuarios que indican que, al filtrar un directorio por un archivo determinado en el elemento Archivos de la central Código y después cambiar al elemento Historial, el nombre de archivo no se conserva si con la confirmación se han modificado más de 1000 archivos. Como resultado, los usuarios tenían que cargar más archivos y filtrar contenido para buscar el archivo, lo que afectaba a la productividad. Normalmente, los programadores trabajan en el mismo directorio y quieren conservar los directorios en los que trabajan para hacer el seguimiento de los cambios. Ahora, guardamos el nombre de archivo al moverte entre los pivotes del centro de Código, independientemente del número de archivos que se modifiquen en un commit. Esto significa que no es necesario que haga clic en Cargar más para buscar el archivo que desea.

Ver etiquetas de Git

Puede ver todas las etiquetas del repositorio en la página Etiquetas (figura 25). Si administra todas las etiquetas como versiones, un usuario puede ir a la página de etiquetas para obtener una visión global de todas las versiones del producto.

Ver etiquetas de Git
(Figura 25) Ver etiquetas de Git

Puede diferenciar fácilmente entre una etiqueta ligera y una etiqueta anotada. En las etiquetas anotadas se muestra la fecha de creación y el autor de la etiqueta, además de la confirmación asociada, mientras que en las etiquetas ligeras solo se muestra la información de la confirmación.

Eliminar etiquetas de Git

Es posible que se quiera eliminar una etiqueta del repositorio remoto a causa de un error de escritura en el nombre de la etiqueta o porque se ha etiquetado la confirmación que no era. Las etiquetas se pueden eliminar fácilmente en la interfaz de usuario web. Para ello, haga clic en el menú contextual de una etiqueta desde la página Etiquetas y seleccione Eliminar etiqueta(Figura 26).

Advertencia

Tenga precaución al eliminar etiquetas en repositorios remotos.

Eliminación de etiquetas de Git
(Figura 26) Eliminar etiquetas de Git

Filtrar etiquetas de Git

En los repositorios antiguos, el número de etiquetas puede aumentar significativamente con el tiempo. También puede haber repositorios cuyas etiquetas se hayan creado en jerarquías, lo que puede dificultar la búsqueda de etiquetas.

Si no encuentra la etiqueta que busca en la página Etiquetas, puede simplemente buscar el nombre de la etiqueta con el filtro de la parte superior de la página Etiquetas(figura 27).

Filtrar etiquetas de Git
(Figura 27) Filtrar etiquetas de Git

Seguridad de las etiquetas de Git

Ahora puede conceder permisos específicos a los usuarios del repositorio para administrar etiquetas. Puede conceder a los usuarios permiso para eliminar etiquetas o para administrar etiquetas desde esta interfaz (Figura 28).

Seguridad de etiquetas de Git
(Figura 28) Seguridad de las etiquetas de Git

Sugerencia

Obtenga más información acerca de las etiquetas de Git en el blog de Microsoft DevOps.

Completar automáticamente los elementos de trabajo al completar las solicitudes de incorporación de cambios

Si está vinculando elementos de trabajo a solicitudes de incorporación de cambios (pull requests), mantener todo actualizado ya es más sencillo. Ahora, cuando completes un PR, tendrás la opción de completar automáticamente los elementos de trabajo vinculados después de que el PR se haya fusionado con éxito (figura 29). Si usa políticas y configura las solicitudes de incorporación de cambios para completar automáticamente, verá la misma opción. Ya no será necesario recordar revisar los elementos de trabajo para actualizar su estado una vez que el pull request se haya completado. Se hace automáticamente.

Completar elementos de trabajo vinculados
(Figura 29) Completar elementos de trabajo vinculados

Restablecer los votos al realizar un push o una nueva iteración.

Los equipos que opten por un flujo de trabajo de aprobación más estricto en las solicitudes de incorporación de cambios ahora pueden elegir restablecer los votos cuando se publiquen nuevos cambios (Figura 30). La nueva opción de configuración se encuentra en la directiva para requerir un número mínimo de revisores.

Restablecer la configuración de votos
(Figura 30) Restablecer la configuración de votos

Si se define esta opción, se restablecerán todos los votos de todos los revisores siempre que la rama de origen de la solicitud de incorporación de cambios se actualice. La cronología de la PR registrará una entrada cada vez que se reinicien los votos como resultado de esta opción (Figura 31).

Restablecer votos en la línea temporal
(Figura 31) Restablecer votos en la línea de tiempo

Filtrar el árbol de solicitudes de incorporación de cambios por nombre de archivo

Buscar un archivo específico en una solicitud de incorporación de cambios es más fácil que nunca. El nuevo cuadro de filtrado de la vista Archivos permite a los usuarios filtrar la lista de archivos en la vista de árbol (Figura 32).

Búsqueda de archivos o carpetas en la solicitud de incorporación de cambios
(Figura 32) Buscar un archivo o carpeta en la solicitud de incorporación de cambios

El filtro coincide con cualquier parte de la ruta de los archivos de la solicitud de incorporación de cambios. De este modo, se puede buscar por nombres de carpeta, rutas de acceso parciales, nombres de archivo o extensiones (Figura 33).

Búsqueda de resultados
(Figura 33) Buscar resultados

Más opciones de filtrado para los comentarios de la solicitud de incorporación de cambios

Ahora, los comentarios de la vista general de la solicitud de incorporación de cambios y de la vista de archivos tienen las mismas opciones (Figura 34). También puede filtrar para ver solo las conversaciones en las que ha participado.

Filtrado de comentarios de PR
(Figura 34) Filtrado de comentarios de PR

Ver las diferencias originales de los comentarios de código en los detalles de la solicitud de incorporación de cambios

A veces cuesta encontrar sentido a un comentario de una solicitud de incorporación de cambios si el código al que hace referencia se ha modificado (muchas veces, cuando se ha realizado un cambio solicitado) (figura 35).

Ver diferencias originales
(Figura 35) Ver diferencias originales

Si esto sucede, ahora verá una notificación con un número de actualización en el que puede hacer clic para ver el aspecto del código en el momento en que se creó el comentario (figura 36).

Notificación de actualización
(Figura 36) Notificación de actualización

Comentarios a la solicitud de incorporación de cambios que se pueden contraer

La revisión del código es una parte fundamental de la experiencia de solicitud de incorporación de cambios. Por ello, se han agregado nuevas características que permiten a los revisores centrarse en el código. Los revisores de código pueden ocultar fácilmente los comentarios para que no les estorben mientras revisan un código nuevo por primera vez (Figura 37).

Ocultar comentarios
(Figura 37) Ocultar comentarios

Al ocultar los comentarios (Figura 38), estos desaparecen de la vista de árbol y los hilos de comentarios se contraen en la vista del archivo:

Comentarios colapsados
(Figura 38) Comentarios contraídos

Los comentarios contraídos se pueden expandir fácilmente haciendo clic en el icono situado en el margen. Para volver a contraerlos, basta con volver a hacer clic en el icono. Información sobre herramientas(Figura 39) permite echar un vistazo fácilmente a un comentario, sin tener que ver toda la conversación.

Mensaje emergente de comentario contraído
(Figura 39) Tooltip de comentario colapsado

Listas de tareas en descripciones y comentarios de la solicitud de incorporación de cambios

Al preparar una solicitud de incorporación de cambios o al hacer comentarios, a veces se empieza con una lista breve de los elementos de los que se desea realizar el seguimiento, pero se acaba editando el texto o agregando varios comentarios. Las listas de tareas ligeras son una excelente manera de monitorizar el progreso en una lista de cosas por hacer, ya sea como creador o revisor de la solicitud de PR en la descripción o en un único comentario consolidado. Haga clic en la barra de herramientas de Markdown para empezar o aplicar el formato al texto seleccionado (Figura 40).

Barra de herramientas de lista de tareas
(Figura 40) Barra de herramientas de lista de tareas

Cuando haya agregado una lista de tareas (figura 41), puede activar las casillas para marcar los elementos como completados. Estos se expresan y se almacenan en el comentario como [ ] y [x] en Markdown. Para obtener más información, consulte la guía de Markdown.

Lista de tareas
(Figura 41) Lista de tareas

Posibilidad de dar "Me gusta" a los comentarios en las solicitudes de incorporación de cambios

Si está de acuerdo con un comentario en una solicitud de incorporación de cambios, puede hacer clic en el botón de Me gusta(Figura 42). Para ver una lista de todas las personas a las que les ha gustado el comentario, pase el botón por encima del botón.

Al igual que los comentarios de la solicitud de incorporación de cambios
(Figura 42) “Me gusta” en comentarios de solicitudes de incorporación de cambios

Mejora en el flujo de trabajo para la aprobación de sugerencias

El uso de la opción Autocompletar(figura 43) con las solicitudes de incorporación de cambios es una buena forma de mejorar la productividad, pero no sirve para interrumpir los debates activos con los revisores de código. Para facilitar estos debates, se mostrará la opción Aprobar con sugerencias cuando se establezca que una solicitud de incorporación de cambios se complete automáticamente. El usuario podrá cancelar el completado automático para que sus comentarios se puedan leer, o mantener el completado automático definido y permitir que la solicitud de incorporación de cambios se complete automáticamente cuando se cumplan todas las directivas.

Cancelar el cuadro de diálogo de autocompletar
(Figura 43) Cuadro de diálogo de cancelación de autocompletado

Filtrado de rutas para las notificaciones de Git

En vez de recibir notificaciones en relación a todas las carpetas de un repositorio, ahora puede optar por recibir notificaciones cuando los miembros del equipo creen solicitudes de incorporación de cambios o código de inserción solamente en las carpetas que le interesen. Al crear suscripciones personalizadas a notificaciones por correo electrónico de solicitudes de push o pull de Git, verá una nueva opción para filtrar estas notificaciones por la ruta de acceso de la carpeta (Figura 44).

Filtrado de rutas de acceso para notificaciones
(Figura 44) Filtrado de rutas de acceso para notificaciones

Plantillas de correo electrónico actualizadas para flujos de trabajo de solicitudes de incorporación de cambios

Las alertas por correo electrónico de solicitudes de incorporación de cambios se han actualizado para que sean claras, concisas y se pueda actuar en ellas (Figura 45). La línea de asunto ahora empieza con el título de la PR e información secundaria, como el nombre del repositorio, y el ID se pospone al final. El nombre del autor se ha agregado al asunto para que resulte más fácil aplicar reglas y filtros según la persona que creara la solicitud de incorporación de cambios.

El cuerpo de los correos electrónicos de alerta incluye una plantilla actualizada que, en primer lugar, resume el motivo por el que se envió la alerta, después agrega los metadatos importantes (título, nombre de rama y descripción) y, por último, un botón principal de llamada a la acción. Más abajo, en el correo electrónico, se recoge información adicional, como los revisores, los archivos y las confirmaciones.

Plantilla de correo electrónico mejorada
(Figura 45) Plantilla de correo electrónico mejorada

En la mayoría de las alertas, la llamada a la acción (figura 46) es ver el pull request en la web. Pero si recibe una notificación sobre un comentario concreto, la llamada a la acción le dirigirá directamente al comentario para que pueda encontrar fácilmente el código y la conversación anterior que le sirvan como contexto.

Llamada a la acción por correo electrónico
(Figura 46) Llamada a la acción de correo electrónico

Se han actualizado las plantillas de correo electrónico para notificaciones push.

Las notificaciones de inserción se han actualizado para adaptarse a las nuevas plantillas de correo electrónico que se han optimizado para ser claras, concisas y procesables (Figura 47). La línea de asunto le ayuda a distinguir claramente los mensajes de correo electrónico de inserción, identificar la rama, el repositorio y el autor, así como a resumir el número de confirmaciones que se incluyen en la inserción. Estos cambios también permiten crear reglas y filtros para poder administrar estas notificaciones de correo electrónico.

El cuerpo del correo electrónico es coherente con otros mensajes de correo, resaltando el motivo por el que se envió el mensaje, quién inició la acción y qué sucedió exactamente. Se incluyen datos de las alertas de inserción y los detalles del repositorio, la rama, los archivos y las confirmaciones a fin de informar a los destinatarios del ámbito de los cambios. La llamada a la acción principal para las alertas de push es Visualizar Push, que abrirá la vista de push para el push específico que generó la alerta.

Wiki

Ahora todos los proyectos son compatibles con su propia wiki (Figura 48). Puede escribir páginas cómodamente que permitan a los miembros del equipo entender su proyecto, utilizarlo y hacer contribuciones en él.

Página wiki
(Figura 48) Página wiki de solicitud de inserción de cambios

Algunas de las características principales del nuevo Wiki son:

  • Una experiencia de edición simplificada gracias a la sintaxis de Markdown.
  • La nueva página permite especificar un título y agregar contenido. (Figura 49)
Wiki del título
(Figura 49) Wiki de Título PR
  • Compatibilidad con etiquetas HTML en Markdown (Figura 50).
Etiquetas HTML wiki
(Figura 50) Etiquetas HTML de la wiki de PR
  • Posibilidad de cambiar el tamaño de las imágenes según le convenga en la carpeta de Markdown (Figura 51).
Cambio de tamaño de la imagen
(Figura 51) Redimensionamiento de imagen de Pull Request
  • El útil panel de administración de páginas, que le permite cambiar el orden de las páginas, administrarlas y cambiar la jerarquía.
  • Para los wikis de gran tamaño, se pueden filtrar páginas por título (figura 52).
Menú Wiki
(Figura 52) Menú PR Wiki

Sugerencia

Obtenga más información sobre cómo empezar con Wiki.

A medida que vaya usando Wiki, es posible que guarde cambios por error. Ahora puede revertir a una versión anterior de una página wiki. Para ello, vaya a los detalles de la revisión y haga clic en el botón Revertir(Figura 53).

Botón de Reversión de Wiki
(Figura 53) Botón de revertir solicitud de extracción de Wiki

Hemos observado un patrón durante la creación de wikis que causaba que, en la tabla de contenido de una página wiki, se incluyeran vínculos inexistentes (figura 54). Los usuarios hacían clic en estos vínculos para intentar crear una página en sí. Anteriormente, ya intentamos dar solución a este escenario al mostrar una advertencia para sugerir que el vínculo estaba roto o que la página no existía. Ahora, consideramos esto un escenario estándar para los wikis y, en su lugar, le permitiremos crear páginas.

Crear página wiki
(Figura 54) Página wiki de PR creación

Vinculación en profundidad de la página Wiki

Wiki ahora admite las secciones de vinculación en profundidad dentro de una página y en varias páginas, algo que resulta muy útil a la hora de crear una tabla de contenido. Puede hacer referencia a un encabezado de la misma página o de otra usando la siguiente sintaxis:

  • Misma página: [text to display](#section-name)
  • Otra página: [text to display](/page-name#section-name)

La extensión Wiki de Marketplace está en desuso. Si ya es usuario de una extensión de wiki, puede migrar sus páginas wiki a la nueva wiki con esta herramienta de migración. Obtenga más información sobre cómo migrar sus páginas wiki existentes a la nueva wiki.

Administración de paquetes

Actualización de la experiencia de administración de paquetes

Ahora las URL de paquetes funcionan con el nombre y la versión del paquete, en vez de usar GUID. Esto facilita la creación de direcciones URL de paquetes (Figura 55). El formato es el siguiente: \<tfsserverurl\>/\<project|team\>/_packaging?feed=\<feed\>&package=\<package\>&version=\<version\>&protocolType=\<NuGet|Npm|Maven\>&_a=package.

Dirección URL del paquete
(Figura 55) Dirección URL de paquete de solicitud de inserción de cambios

Ahora puede ocultar versiones de paquetes eliminados (Figura 56) de todos los usuarios de la fuente (¡ya no tendrá que tachar más paquetes!).

Ocultar paquetes eliminados
(Figura 56) Ocultar paquetes eliminados

Cualquier acción que pueda realizar desde la página de detalles del paquete ahora la puede llevar a cabo desde el menú contextual en la lista de paquetes.

La lista de paquetes contiene una nueva columna titulada Últimas inserciones(Figura 57), con fechas humanizadas para que pueda encontrar fácilmente los paquetes actualizados recientemente.

Última columna insertada
(Figura 57) Última columna desplazada

Paquetes de Maven

Se ha agregado compatibilidad para hospedar artefactos de Maven en TFS 2018 (figura 58). Los artefactos de Maven permiten a los desarrolladores de Java compartir el código y los componentes sin problemas. Consulte nuestra guía de introducción para saber cómo compartir artefactos de Maven mediante la Administración de paquetes.

Paquetes de Maven
(Figura 58) Paquetes de Maven

Nueva tarea de NuGet unificada

Se han combinado las tareas NuGet Restore, NuGet Packager y NuGet Publisher en una tarea de compilación de NuGet unificada para que se alinee mejor con el resto de la biblioteca de tareas de compilación. De forma predeterminada, la nueva tarea usa NuGet 4.0.0. En consecuencia, se han descartado las tareas antiguas y se recomienda que, cuando se tenga un momento, se pase a la nueva tarea de NuGet. Este cambio coincide con una serie de mejoras que se describen a continuación y a las cuales solo se puede acceder con la tarea combinada.

Como parte de este trabajo, también se ha publicado una nueva tarea Instalador de la herramienta NuGet que controla la versión de NuGet disponible en el PATH y utilizada por la nueva tarea de NuGet. Por tanto, para usar una versión más reciente de NuGet, agregue la tarea Instalador de la herramienta NuGet al inicio de la compilación (Figura 59).

Tarea de Nuget
(Figura 59) Tarea de NuGet

Opción "Permitir la omisión de duplicados" de NuGet

Muchos clientes de NuGet nos han dicho que generan un conjunto de paquetes de los que solo actualizan unos cuantos (y que, por lo tanto, tienen números de versión actualizados). La tarea de compilación de NuGet tiene una nueva opción Permitir la omisión de duplicados que permite que la tarea continúe si intenta insertar paquetes en una fuente de TFS o VSTS cuya versión ya está en uso.

Actualizaciones de tareas de la compilación de npm

No importa si compila el proyecto de npm en Windows, Linux o Mac, la nueva tarea de compilación de NPM funciona de forma fluida. También hemos reorganizado la tarea para facilitar tanto la instalación de npm como la publicación de npm. Para la instalación y publicación, se ha simplificado la adquisición de credenciales para que las credenciales de los registros que se indican en el archivo .npmrc del proyecto se almacenen de forma segura en un punto de conexión de servicio. Como alternativa, si usa una fuente de VSTS o TFS, dispone de un selector que permite seleccionar una fuente y, después, genera un archivo .npmrc con las credenciales necesarias usadas por el agente de compilación.

Ahora Maven admite fuentes autenticadas

A diferencia de NuGet y npm, anteriormente la tarea de compilación de Maven no funcionaba con fuentes autenticadas. Se ha actualizado la tarea de Maven para que puedas trabajar fácilmente con fuentes de VSTS/TFS (Figura 60).

dotnet (tarea)
(Figura 60) Tarea de .NET

La tarea de dotnet admite fuentes autenticadas y proyectos web

Con la siguiente versión principal de la tarea dotnet (2.x) se solucionan muchas de las solicitudes que se han recibido y se corrige un conjunto de errores cuyo seguimiento se ha realizado durante un tiempo. Entre estas estructuras se incluyen las siguientes:

  1. En primer lugar, ahora dotnet admite fuentes de paquetes autenticadas, como Administración de paquetes, por lo que ya no es necesario usar la tarea de NuGet para restaurar paquetes desde fuentes de paquetes privadas.
  2. El comportamiento del campo Ruta de acceso a proyectos ha cambiado en la versión 2.0 de la tarea. En versiones anteriores de la tarea, si no se encontraban los archivos de proyecto que coincidieran con el patrón especificado, la tarea acostumbraba a registrar una advertencia y, a continuación, se realizaba correctamente. En tales situaciones, a veces puede ser difícil de entender por qué la compilación se ha realizado correctamente pero las dependencias no se han restaurado. Ahora, si no se encuentran los archivos de proyecto que coinciden con el patrón especificado, la tarea genera un error. Esto está en consonancia con el comportamiento de otras tareas y es fácil de entender y usar.
  3. En versiones anteriores del comando de publicación de la tarea, la tarea modificaba la ruta de acceso de salida al colocar todos los archivos en una carpeta que llevaba el mismo nombre del archivo de proyecto, incluso si se pasaba una ruta de acceso de salida explícita. Esto dificultaba la concatenación de comandos. Ahora tienes control sobre la ruta de archivo de salida.

También hemos lanzado una nueva tarea Instalador de herramientas dotnet, que controla la versión de dotnet disponible en el PATH y que utiliza la nueva tarea de dotnet. Por lo tanto, para usar una versión más reciente de dotnet, agregue la tarea Instalador de la herramienta dotnet al inicio de la compilación.

Trabajando de manera externa a su cuenta o colección

Ahora trabajar con fuentes (figura 61) fuera del servidor de TFS o la cuenta de VSTS es más fácil, tanto si se trata de fuentes de Administración de paquetes en otra cuenta de VSTS o servidor de TFS, como si son fuentes que no sirven para administrar paquetes, como NuGet.org/npmjs.com, Artifactory o MyGet (figura 60). Los tipos de punto de conexión de servicio dedicados para NuGet y npm facilitan la introducción de credenciales correctas y permiten que las tareas de la compilación funcionen adecuadamente durante las operaciones de descarga e inserción de paquetes.

Fuentes para usar
(Figura 61) Alimentación para usar

Selector de fuentes para fuentes de VSTS/TFS

Siempre recomendamos que se registre un archivo de configuración (por ejemplo, NuGet.Config, .npmrc, etc.) para que el repositorio de la fuente tenga registrado de dónde provienen los paquetes. Pero se han oído casos en los que esta opción no es la más adecuada, así que se ha agregado una nueva opción, Usar paquetes de esta fuente de VSTS/TFS, que permite seleccionar una fuente y generar automáticamente un archivo de configuración que se usa en ese paso de compilación (figura 62).

Selector de fuentes
(Figura 62) Selector de fuente

Compilación y despliegue

Compilaciones XAML

En TFS 2015, se introdujo un sistema de compilación multiplataforma basado en web. En TFS 2018 RTW o Update 1 no se admiten las compilaciones XAML, pero las hemos vuelto a habilitar en TFS 2018 Update 2. Le recomendamos que migre las compilaciones XAML. Si no está preparado para realizar la migración y necesita seguir usando las compilaciones XAML, actualice a TFS 2018 Update 2.

Al actualizar a TFS 2018 RTW o Update 1:

  • Si tiene datos de la compilación XAML en la colección de proyectos del equipo, recibirá una advertencia sobre la eliminación de las características de la compilación XAML.

  • Puede ver compilaciones XAML finalizadas, pero no poner nuevas en la cola.

  • No hay versiones nuevas del agente ni del controlador de compilación XAML en TFS 2018.

Al actualizar a TFS 2018 Update 2:

  • Si tiene datos de la compilación XAML en la colección de proyectos del equipo, recibirá una advertencia sobre la puesta en desuso de las características de la compilación XAML.

  • Debe usar Visual Studio o Team Explorer 2017 para editar definiciones de compilación XAML o para poner en cola nuevas compilaciones XAML.

  • Si necesita crear nuevos agentes de compilación XAML, tiene que instalarlos con el instalador de agentes de compilación de TFS 2015.

Sugerencia

Para obtener una explicación de nuestro plan de desuso del sistema de compilación XAML, vea el artículo del blog Evolución de las funciones de automatización de compilación de TFS/Team Services.

Exportar e importar las definiciones de construcción

Las definiciones de la compilación se implementan internamente como archivos .json, por lo que en el historial del archivo se pueden ver los detalles de los cambios. A partir de las definiciones de compilación, ya se pueden clonar y crear plantillas, pero muchos usuarios han querido copiar su lógica de compilación de integración continua para reutilizarla en otro proyecto de equipo. Esta fue una de las diez solicitudes más frecuentes en UserVoice.

Estamos encantados de anunciar que ahora es posible (figura 63) y (figura 64).

Exportar definición de compilación
(Figura 63) Exportar la definición de compilación
Importar definición de compilación
(Figura 64) Importar la definición de compilación

Extensiones con plantillas de compilación

Las plantillas de compilación permiten crear una base de referencia para que los usuarios empiecen a definir su proceso de compilación. Hoy hemos enviado unas cuantas. Aunque se podían cargar plantillas nuevas a la cuenta, los autores de las extensiones no podían incluir plantillas nuevas como parte de una extensión. Ahora puede incluir plantillas de compilación en las extensiones. Por ejemplo:

{  "id": "Template1", 
   "type": "ms.vss-build.template", 
   "targets": [ "ms.vss-build.templates" ], 
   "properties": { "name": "Template1" } }

Para obtener el ejemplo completo, vea https://github.com/Microsoft/vsts-extension-samples/tree/master/fabrikam-build-extension.

Sugerencia

Puede utilizar esta capacidad para ofrecer y compartir la misma plantilla personalizada en todos los proyectos de equipo.

Marcar como obsoleta una tarea en una extensión

Ahora puede dejar de utilizar una tarea en una extensión. Para que funcione, debe agregar la siguiente variable a la versión más reciente de la tarea:

"deprecated": true

Cuando el usuario busca tareas en desuso (figura 65), estas tareas se insertan al final y se agrupan en una sección contraíble que está contraída de forma predeterminada. Si una definición ya está utilizando una tarea en desuso, mostramos un distintivo de la tarea en desuso para instar a los usuarios a cambiar a la opción de reemplazo.

Distintivo de tarea obsoleta
(Figura 65) Insignia de tarea en desuso

Puede ayudar a los usuarios a obtener información sobre la tarea de reemplazo si la menciona en la descripción de la tarea (Figura 66). De esta forma, la descripción apunta a los usuarios que usan la tarea en la dirección correcta desde el catálogo de tareas y las definiciones de compilación o versión existentes.

Descripción de la tarea obsoleta
(Figura 66) Descripción de tarea en desuso

Permitir que las secciones de la compilación en las que se ha contribuido controlen la visibilidad de la sección

Anteriormente, si se usaba una extensión que tenía tareas de compilación y secciones de resumen de compilación, se mostraba una sección de resumen de compilación, incluso si no se usaba la tarea de compilación en esa compilación. Ahora puede optar por ocultar o mostrar esta sección en la página de resumen de la compilación. Para ello, agregue la siguiente línea en el código de extensión y establezca el valor en true o false:

VSS.getConfiguration().setSectionVisibility("$(publisherId).$(extensionId).$(sectionId)", false);

Vea el ejemplo que se incluye en el repositorio vsts-extension-samples de Microsoft.

Compatibilidad con grupos de variables

Los grupos de variables han estado disponibles para su uso en definiciones de versiones, y ahora también se pueden usar en definiciones de compilaciones. Obtenga más información sobre la creación de un grupo de variables. Esto se ha desarrollado y se le ha dado prioridad a partir de las sugerencias relacionadas con variables de compilación/versión en el nivel de proyecto y grupos de variables en las definiciones de la compilación.

Trabajar con archivos seguros, como certificados de Apple

Se ha agregado una biblioteca de archivos seguros de uso general (Figura 67).

Biblioteca de archivos seguros
(Figura 67) Biblioteca de archivos seguros

Use la biblioteca de archivos seguros para almacenar archivos en el servidor (como certificados de firma, perfiles de aprovisionamiento de Apple, archivos del almacén de claves de Android y claves SSH) sin tener que confirmarlos en el repositorio de origen.

El contenido de los archivos seguros se cifra y solo se puede usar durante los procesos de compilación o lanzamiento, haciendo referencia a ellos desde una tarea. Los archivos seguros están disponibles en diferentes definiciones de compilación y versión del proyecto de equipo en función de la configuración de seguridad. Los archivos seguros siguen el modelo de seguridad de la biblioteca.

También se han agregado algunas tareas de Apple que sacan partido de esta nueva característica:

Pausar las definiciones de compilación

Ahora puede pausar o deshabilitar las definiciones de compilación. Si tiene previsto realizar cambios en la definición de compilación y no quiere agregar a la cola las nuevas compilaciones hasta que termine, puede simplemente deshabilitar la definición de compilación. Asimismo, si tiene pensado actualizar los equipos del agente, puede optar por pausar una definición de compilación, de manera que VSTS aún podrá aceptar nuevas solicitudes de compilación, pero manteniéndolas en la cola sin que se ejecuten hasta que se reanude la definición.

Compatibilidad de las validaciones de entradas de tareas

Si escribe los parámetros en las tareas de definición de compilación, a veces se pueden producir errores. Gracias a la validación de entradas de tareas, los autores de tareas se pueden asegurar de que se han especificado los valores adecuados. Las expresiones de validación siguen la conocida sintaxis de expresión que se usa para las condiciones de tareas. Además, pueden emplear cualquiera de las funciones admitidas, aparte de las funciones generales admitidas por las condiciones de tareas (dirección URL, IPV4, correo electrónico, intervalo de números, sha1, longitud o coincidencia).

Sugerencia

Obtenga más información sobre sus objetivos y su uso en la página del repositorio vsts-tasks.

Nueva versión del editor de definiciones

Siguiendo nuestro recorrido por la actualización de las experiencias de compilación y versión, hemos reinventado el editor de definiciones de versión para ofrecer una experiencia más intuitiva, corregir algunos puntos débiles y agregar nuevas capacidades. Una de las características más útiles del nuevo editor es su capacidad para visualizar el progreso de las implementaciones en sus entornos. Además, las aprobaciones, las propiedades de entorno y la configuración de implementación ya están disponibles en contexto y se pueden configurar fácilmente.

Visualización de la canalización

La canalización (figura 68) en el editor proporciona una vista gráfica de cómo progresan las implementaciones en una versión. La versión usa los artefactos y los implementa en los entornos. El diseño y la vinculación de los entornos reflejan la configuración del desencadenador definida para cada entorno.

Canalización
(Figura 68) Pipeline de lanzamiento
Interfaz de usuario de configuración en contexto

Los artefactos, los disparadores de lanzamiento, las aprobaciones previas a la implementación y posteriores a la implementación, las propiedades de entorno y las opciones de configuración de implementación ya están en contexto y se pueden configurar fácilmente (figura 69).

Configuración de lanzamiento
(Figura 69) Configuración de versión
Introducción a las plantillas de implementación

Todas las plantillas de implementación integradas cuentan con parámetros de proceso que simplifican el proceso a los usuarios para que empiecen a trabajar fácilmente mediante la especificación de los parámetros más importantes, sin necesidad de profundizar en las tareas (figura 70).

Plantillas de implementación
(Figura 70) Plantillas de implementación
Administración simplificada de variables de entorno y de lanzamiento.

Use la vista Lista para agregar rápidamente variables de entorno o de versión, y la vista Cuadrícula para comparar y editar variables en todos los ámbitos de forma paralela. También puede usar la búsqueda de palabras clave y el filtro para administrar el conjunto de variables con el que trabajará en ambas vistas.

Mejoras en el editor de tareas y fases

Todas las mejoras del nuevo editor de definición de compilación ya están disponibles también en el editor de definición de versiones (figura 72). Puede buscar tareas y agregarlas con el botón Agregar, o bien puede usar la función de arrastrar y colocar. Puede cambiar el orden de las tareas o clonarlas con arrastrar/colocar.

Editor de tareas
(Figura 72) Editores de tareas
Pestañas Grupos de variables, Retención y Opciones

Ahora puede vincular o desvincular a grupos de variables (figura 73), establecer la directiva de retención para entornos individuales y modificar la configuración de nivel de definición de versión, como el formato de número de versión de la pestaña Opciones . También puede guardar un entorno como plantilla de implementación, establecer permisos de nivel de entorno y volver a ordenar fases dentro de la pestaña Tareas .

Grupos de variables
(Figura 73) Grupos de variables

Use las operaciones en el nivel de entorno para guardarlas como plantillas y establecer la seguridad (Figura 74).

Menú de Entorno
(Figura 74) Menú Entorno

Implementación de máquina virtual con grupos de implementación

Ahora, Release Management admite una sólida implementación lista para usar en múltiples máquinas. Puede organizar las implementaciones en varios equipos y realizar actualizaciones graduales, y asegurarse mientras tanto de que la aplicación estará totalmente disponible.

La capacidad de implementación basada en agentes se basa en los mismos agentes de compilación e implementación. A diferencia del enfoque actual, donde instala los agentes de compilación y despliegue en un conjunto de servidores proxy de un grupo de agentes y dirige las implementaciones a servidores de destino remoto, instala el agente directamente en cada uno de sus servidores de destino y dirige las implementaciones escalonadas a esos servidores. Puede usar el catálogo de tareas completo en los equipos de destino.

Un grupo de implementaciones (Figura 75) es un grupo lógico de destinos (equipos) con agentes instalados en cada uno de ellos. Los grupos de implementación representan los entornos físicos, como desarrollo de una sola caja, control de calidad de varias máquinas y una granja de máquinas para UAT/Prod. También especifican el contexto de seguridad de los entornos físicos.

Grupos de implementación
(Figura 75) Grupos de implementación

Puede usar esto en cualquier máquina virtual con la que registre nuestro agente. También se ha facilitado mucho el registro con Azure, gracias a la compatibilidad con una extensión de máquina virtual de Azure que instala automáticamente el agente cuando se inicia la máquina virtual. Al registrarla, la máquina virtual de Azure hereda las etiquetas automáticamente.

Una vez que tenga un grupo de despliegue, simplemente configure lo que desea que ejecutemos en dicho grupo (Figura 76). Puede controlar qué se ejecuta en cada máquina utilizando etiquetas y también regular la velocidad a la que se realiza el despliegue.

Configuración de grupos de implementación
(Figura 76) Configurar grupos de implementación

Al ejecutar la implementación, en los registros se muestra la progresión de todo el grupo de equipos de destino (Figura 77).

Progreso del grupo de implementación
(Figura 77) Progreso del grupo de implementación

Esta característica está ahora integrada en Release Management. No se necesitan licencias adicionales.

Interfaz de usuario de grupos de implementación mejorada

Siguiendo nuestro recorrido por la actualización de las experiencias de compilación y versión, hemos reinventado nuestras páginas de grupos de implementación para que sea una experiencia más limpia e intuitiva (Figura 78). Desde la página de inicio, puede ver el estado de los destinos en el grupo de implementación. También puede administrar la seguridad de un grupo de distribución específico o establecer permisos predeterminados en todos los grupos de implementación.

Interfaz de usuario de grupos de implementación
(Figura 78) Interfaz de usuario de grupos de implementación

Para un destino en un grupo de implementación, puede ver un resumen, las implementaciones recientes y las capacidades del destino (figura 79). Puede establecer etiquetas en el destino y controlar lo que se ejecuta en cada destino. Vamos a incorporar compatibilidad con los filtros para grupos de implementación en las próximas versiones.

Etiquetas de interfaz de usuario de grupos de implementación
(Figura 79) Etiquetas de interfaz de usuario de grupos de implementación

Referencias del grupo de tareas

Los grupos de tareas le permiten definir un conjunto de tareas que puede agregar a las definiciones de la implementación o versión (Figura 80). Esto resulta útil si tiene que usar la misma agrupación de tareas en diferentes compilaciones o versiones. Para ayudarle a hacer el seguimiento de los consumidores de un grupo de tareas, ahora puede ver las definiciones de la compilación, las definiciones de la versión y los grupos de tareas que hacen referencia a su grupo de tareas (Figura 79).

Referencias del grupo de tareas
(Figura 80) Referencias del grupo de tareas

Si intenta eliminar un grupo de tareas al que todavía se hace referencia, se le avisa y se le ofrece un vínculo a esta página.

Versiones del grupo de tareas

Realizar cambios en grupos de tareas puede parecer arriesgado porque el cambio se hace efectivo en todas las definiciones que utilizan el grupo de tareas. Con las versiones de los grupos de tareas, ahora puede crear un borrador, previsualizar las versiones de grupos de tareas y seguir ofreciendo versiones estables para las definiciones más importantes hasta que esté todo listo para hacer el cambio. Después de hacer algunos borradores y algunas iteraciones, puede publicar una versión estable y, durante la publicación, si los cambios son de naturaleza disruptiva, puede optar por publicar el grupo de tareas como vista previa (una nueva versión mayor). También puede publicarla directamente como una versión estable actualizada (Figura 81).

Cuando haya disponible una nueva versión principal (o vista preliminar) del grupo de tareas, el editor de la definición le avisará de ello. Si esa versión principal es una versión preliminar, incluso se ve un mensaje en que se indica "Pruébela". Cuando el grupo de tareas sale de la versión preliminar, las definiciones que lo usan se actualizan automáticamente, deslizándose por ese canal principal (figura 82).

Guardar como borrador
(Figura 81) Guardar grupo de tareas como borrador
Publicación del grupo de tareas como versión preliminar
(Figura 82) Publicar grupo de tareas como vista previa

Importar y exportar grupos de tareas

Aunque los grupos de tareas se pueden reutilizar dentro de un mismo proyecto, sabemos que recrear un grupo de tareas en diferentes proyectos y cuentas puede ser muy complicado. Con la importación o exportación del grupo de tareas (figura 83), como se ha hecho con las definiciones de versión, ahora puede exportar como archivo JSON e importarlo donde quiera. También se han habilitado los grupos de tareas anidados, que primero se expanden cuando se exportan.

Exportar grupo de tareas
(Figura 83) Exportar grupo de tareas

Compatibilidad con la configuración múltiple en las tareas del lado del servidor (sin agente)

Si especifica multiplicadores variables de tareas del lado del servidor (sin agente) (Figura 84), ahora puede ejecutar el mismo conjunto de tareas en una fase con diferentes configuraciones que se ejecutan en paralelo.

Configuración múltiple de tareas sin agente
(Figura 84) Configuración múltiple de tareas sin agente

Soporte de variables en la tarea de intervención manual

Ahora la tarea de intervención manual(Figura 85) admite el uso de variables dentro del texto de instrucciones que se muestra a los usuarios durante la ejecución de la tarea, en el punto en el que el usuario puede reanudar o rechazar la ejecución del proceso de lanzamiento. Se puede incluir cualquier variable definida y disponible en la versión, y los valores se usan en las notificaciones, así como en el correo electrónico que se envía a los usuarios (figura 86).

Tarea de intervención manual
(Figura 85) Tarea de intervención manual
Cuadro de diálogo pendiente de intevención manual
(Figura 86) Cuadro de diálogo Intervención manual pendiente

Controlar los lanzamientos a un entorno en función de la rama de origen

Se puede configurar la definición de un lanzamiento para que desencadene automáticamente una implementación cuando se crea un nuevo lanzamiento, normalmente después de que se complete correctamente una compilación del origen. Sin embargo, puede ser que desee implementar solamente compilaciones de ramas específicas de la fuente, en vez de hacerlo cuando una compilación se completa correctamente.

Por ejemplo, puede ser que quiera que todas las compilaciones se implementen en entornos de desarrollo y de pruebas, pero que solo determinadas compilaciones se implementen en el entorno de producción. Anteriormente, debía mantener dos canalizaciones de lanzamiento para este propósito: una para los entornos de desarrollo y pruebas, y otra para el entorno de producción.

Release Management admite ahora el uso de filtros de artefactos para cada entorno. Esto significa que puede especificar qué versiones se implementan en cada entorno cuando se cumplen las condiciones que desencadenan la implementación (por ejemplo, cuando una compilación se completa correctamente y crea una nueva versión). En la sección Desencadenador del cuadro de diálogo Condiciones de implementación del entorno (Figura 87), seleccione las condiciones del artefacto, como la rama de origen y las etiquetas para las compilaciones que desencadenarán una nueva implementación para ese entorno.

Cuadro de diálogo Condiciones de implementación
(Figura 87) Cuadro de diálogo Condiciones de implementación

Además, ahora la página Resumen de la versión(figura 88) contiene una sugerencia emergente que indica el motivo por el que todas las implementaciones "no iniciadas" se encuentran en ese estado y sugiere cómo y cuándo se iniciará la implementación.

Sugerencia de resumen del lanzamiento
(Figura 88) Sugerencia de resumen de versión

Desencadenadores de publicación para repositorios de Git como fuente de artefactos

Release Management permite ahora configurar un desencadenador de implementaciones continuas (Figura 89) para repositorios de Git vinculados a una definición de versión en cualquiera de los proyectos de equipo de la misma cuenta. Esto le permite desencadenar automáticamente una versión cuando se realiza una confirmación nueva en el repositorio. También puede especificar una rama en el repositorio de Git para la cual las confirmaciones desencadenarán un lanzamiento.

Desencadenadores de liberación
(Figura 89) Activadores de lanzamiento

Desencadenadores de lanzamiento: implementación continua para cambios empujados a un repositorio Git

Release Management siempre ha ofrecido la posibilidad de configurar una implementación continua cuando se completa una compilación. Sin embargo, ahora también puedes configurar el despliegue continuo en Git Push. Esto significa que los repositorios de Git de Team Foundation y GitHub se pueden vincular como orígenes de artefacto a una definición de la versión. A continuación, pueden desencadenar automáticamente versiones para aplicaciones como Node.JS y PHP, que no se generan a partir de una compilación y, por lo tanto, no necesitan una acción de compilación para la implementación continua.

Filtros de rama en los desencadenadores de entorno

En el nuevo editor de definición de lanzamientos, ahora puede especificar condiciones de artefactos para un entorno determinado. Gracias a estas condiciones de artefactos, tendrá un control más detallado de los artefactos que se deben implementar en un entorno específico. Por ejemplo, en un entorno de producción le podría interesar asegurarse de que se implementan las compilaciones generadas únicamente a partir de la rama principal. Este filtro se debe establecer para todos los artefactos que cree que deben cumplir estos criterios.

También puede agregar varios filtros para cada artefacto vinculado a la definición de versión (Figura 90). La implementación se activa en este entorno solo si se cumplen todas las condiciones de los artefactos.

Filtros de ramas
(Figura 90) Filtros de rama

Mejoras en las tareas del servidor

Hemos realizado dos mejoras en las tareas del servidor (tareas que se ejecutan dentro de una fase de servidor).

Se ha agregado una nueva tarea que invoca a las API de REST HTTP genéricas (figura 91) como parte de la canalización automatizada. Por ejemplo, se puede utilizar para invocar el procesamiento específico con una función de Azure y esperar a que finalice.

Tarea DE API REST
(Figura 91) Tarea de API de REST

También hemos agregado la sección Opciones de control(Figura 92) en todas las tareas de servidor. El comportamiento de la tarea ahora pasa por definir las opciones Habilitada, Continuar en caso de error, Ejecutar siempre y Tiempo de espera.

Opciones de control de tareas
(Figura 92) Opciones de control de tareas

Insignia de estado de lanzamiento en el centro de código

Actualmente, si desea saber si una confirmación está implementada en el entorno de producción del cliente, primero debe identificar qué compilación consume la confirmación y, a continuación, comprobar todos los entornos de versión en los que se ha implementado la compilación. Ahora esta experiencia es mucho más fácil gracias a la integración del estado de implementación en la insignia de estado del hub de código, mostrando la lista de entornos a los que se ha implementado tu código. En cada implementación, el estado se registra en el último commit que fue parte de la implementación. Si un commit se implementa en múltiples definiciones de lanzamiento (con múltiples entornos), entonces cada uno tiene una entrada en la insignia y se muestra el estado de cada entorno (Figura 93). De esta forma se mejora la rastreabilidad de la confirmación de código en las implementaciones.

Distintivo de estado de lanzamiento
(Figura 93) Notificación de estado de versión

De forma predeterminada, al crear una definición de la versión, el estado de la implementación se registra para todos los entornos. Pero puede elegir de forma selectiva los entornos cuyo estado de implementación deba mostrarse en la notificación de estado (por ejemplo, mostrar únicamente los entornos de producción) (Figura 94).

Cuadro de diálogo Opciones de implementación
(Figura 94) Cuadro de diálogo Opciones de implementación

Mejoras en el menú de definición de build al agregar artefactos

Al agregar artefactos de compilación a una definición de versión, ahora puede ver las definiciones con la información de organización de carpetas y simplificar la elección de la definición deseada (Figura 95). Esto facilita diferenciar el mismo nombre de definición de compilación en diferentes carpetas.

Agregar artefacto
(Figura 95) Agregar artefacto

La lista de definiciones se filtra en función de las que contengan el término de filtrado.

Revertir la definición de lanzamiento a una versión anterior

Hasta el momento, al actualizar la definición de una versión, no se puede revertir directamente a una versión anterior. La única forma es revisar el historial de definiciones de la publicación para encontrar la diferencia de los cambios, y luego editar manualmente la definición de la publicación. Ahora, con la característica Revertir definición(Figura 96), puede elegir una versión anterior de la definición de una versión (o revertir a una anterior) desde la pestaña Historial de la definición de versión.

Revertir la definición de versión
(Figura 96) Revertir la definición de versión

Notificaciones personalizadas para los lanzamientos

Ahora, las notificaciones de versión están integradas con la experiencia de configuración de notificaciones de VSTS. Ahora se notifica automáticamente a los responsables de las versiones sobre acciones pendientes (como aprobaciones o intervenciones manuales) y fallos importantes en la implementación. Para desactivar estas notificaciones, vaya a los ajustes de Notificación del menú de perfil y desactive la Suscripción a lanzamientos. También puede suscribirse a notificaciones adicionales creando suscripciones personalizadas. Los administradores pueden controlar las suscripciones de los equipos y grupos en los ajustes de configuración Notificación, en las opciones Equipo y Cuenta.

Los autores de definición de versiones ya no tienen que enviar de forma manual correos electrónicos para aprobaciones y finalizaciones de implementación.

Esto es especialmente útil en las cuentas de gran tamaño que tienen varias partes interesadas para las publicaciones, así como en aquellos casos en que usuarios distintos del aprobador, el creador de la versión y el propietario del entorno quieran recibir notificaciones (figura 97).

Notificaciones de versión
(Figura 97) Notificaciones de versión

Sugerencia

Vea la entrada sobre la administración de notificaciones de lanzamiento para más información.

Pruebas

Se ha retirado la compatibilidad con el Centro de laboratorio y los flujos de pruebas automatizadas en Microsoft Test Manager

Con la evolución de la administración de compilación y versión (Release Management), las compilaciones XAML ya no se admiten en TFS 2018 y, por consiguiente, actualizaremos la compatibilidad para usar Microsoft Test Manager (MTM) con TFS. A partir de TFS 2018, ya no se admite el uso del Centro de pruebas o del Centro de laboratorio en MTM para hacer pruebas automatizadas. Si no está preparado para migrar y dejar de utilizar las compilaciones XAML y el Centro de laboratorio, no debe pasar a TFS 2018.

Vea abajo el impacto de actualizar a TFS 2018:

Centro de laboratorio:
  • Ya no se admite:
    • Los controladores de pruebas no se pueden registrar con TFS para crear y administrar entornos de laboratorio.
    • Los controladores de pruebas existentes registrados con TFS pasarán a funcionar sin conexión y los entornos de laboratorio existentes se mostrarán con el estado “No está listo”.
  • Alternativa recomendada:
Pruebas automatizadas:
Pruebas manuales:
  • Todos los escenarios de pruebas manuales siguen siendo totalmente compatibles. Mientras que las pruebas manuales se pueden ejecutar utilizando MTM con TFS 2018, los entornos de laboratorio no se pueden utilizar para ejecutar pruebas manuales.
  • En todos los escenarios de pruebas manuales, es muy recomendable utilizar el concentrador de pruebas en el acceso web de TFS.

A partir de los comentarios recibidos de los equipos que realizan pruebas exploratorias, estamos mejorando los vínculos de rastreabilidad mientras archivamos errores, tareas o casos de prueba en la extensión Prueba y comentarios. Ahora los errores y las tareas creadas durante la exploración de requisitos se crean con el mismo recorrido de área e iteración que el del requisito, en lugar de las configuraciones predeterminadas del equipo. Ahora, los casos de prueba creados durante la exploración de los requisitos se vincularán a un vínculo Tests <-> Tested By en vez de usar el vínculo Principal <-> Secundario, de forma que los casos de prueba que cree se agregarán automáticamente a los conjuntos de pruebas basados en requisitos. Por último, los elementos de trabajo creados mientras no se explora específicamente ningún requisito, se archivan en la iteración predeterminada del equipo en lugar de la iteración actual, de forma que ningún elemento de trabajo nuevo entra en la iteración actual una vez completada la planificación del sprint.

Filtros para elementos de trabajo de casos de prueba en planes y conjuntos de pruebas en el Test Hub

Además de los filtros en los campos Prueba, como Resultado, Configuración o Evaluador, ahora puede usar los filtros en campos de elementos de trabajo de casos de pruebas, como Título, Estado y Asignado a(Figura 98).

Filtros de casos de prueba
(Figura 98) Filtros de caso de prueba

Gráficos de tendencia de pruebas para entornos de la versión y ejecuciones de pruebas

Estamos agregando compatibilidad con los Entornos de lanzamiento en el widget Tendencia de los resultados de la prueba(Figura 99) para que pueda seguir el estado de los entornos de prueba en los paneles de VSTS. De la misma manera que para los resultados de las pruebas en Compilación, ahora puede crear gráficos de tendencias que muestren la tasa de éxito de las pruebas, el número total de pruebas, las pruebas aprobadas o fallidas, y la duración de las pruebas en los entornos de la versión. También puede filtrar los gráficos a una serie de pruebas específicas de un entorno con el filtro de título Serie de pruebas.

Gráfico de tendencias de prueba
(Figura 99) Gráfico de tendencias de prueba

Compatibilidad con el formato de Markdown para los comentarios de la ejecución de pruebas y del resultado de las pruebas

Estamos agregando compatibilidad para dar formato a los comentarios de Serie de pruebas y de Resultado de pruebas con la sintaxis de Markdown. Puede utilizar esta característica para crear texto con formato o vínculos rápidos a direcciones URL en los comentarios. Puede actualizar los comentarios de Resultado de pruebas en la página Resumen de los resultados con Actualizar análisis y los comentarios de Serie de pruebas en la página Resumen de ejecución con Actualizar comentarios en el concentrador Prueba.

Al analizar el resultado de la prueba en la página de resumen Compilación o Versión o en el centro de pruebas, ahora puede asociar un error existente con una prueba fallida. Esto resulta útil cuando se producen errores en una prueba a causa de un motivo conocido que presenta un error ya registrado.

Subir archivos adjuntos a ejecuciones de pruebas y resultados de pruebas

Ahora puede adjuntar archivos (por ejemplo, capturas de pantalla o archivos de registro) para ejecutar pruebas o resultados de pruebas como información adicional. Hasta este momento, esta capacidad solo estaba disponible a través del cliente Microsoft Test Manager (MTM), que le obligaba a cambiar de contexto entre la central de pruebas de VSTS/TFS y el cliente MTM.

Procesamiento por lotes de pruebas

En la administración de compilación/versión de la tarea de prueba de Visual Studio, existen opciones para controlar cómo se deben agrupar (poner en lotes) las pruebas para llevar a cabo una ejecución eficaz. Las pruebas se pueden agrupar de dos formas:

  1. En función del número de pruebas y de agentes que participen en la ejecución de la prueba, se agrupan simplemente las pruebas en una serie de lotes de un tamaño especificado.
  2. En función del tiempo de ejecución transcurrido de las pruebas, que tiene en cuenta el tiempo de ejecución transcurrido para crear lotes de pruebas de modo que cada lote tenga aproximadamente el mismo tiempo de ejecución (Figura 100). Las pruebas de ejecución rápida se agrupan en lotes, mientras que las pruebas de ejecución prolongada pueden pertenecer a un lote independiente. Esta opción se puede combinar con la opción de fase de multiagente para reducir al mínimo el tiempo total de la prueba.
Procesamiento por lotes de pruebas
(Figura 100) Procesamiento de pruebas por lotes

Ejecutar pruebas web con la tarea VSTest

Gracias a la tarea de prueba de Visual Studio, ahora se pueden ejecutar pruebas web (también conocidas como pruebas de rendimiento web) en la canalización CI/CD. Las pruebas web se pueden ejecutar especificando las pruebas que se van a ejecutar en la entrada del ensamblado de tareas. Si se selecciona el plan de pruebas o el conjunto de pruebas de la tarea, también se puede ejecutar cualquier elemento de trabajo de un caso de prueba que tenga una "automatización asociada" vinculada a una prueba web (Figura 101).

Selección de pruebas
(Figura 101) Selección de pruebas

Los resultados de la prueba web están disponibles como datos adjuntos al resultado de la prueba (figura 102). Se pueden descargar para efectuar un análisis sin conexión en Visual Studio.

Resumen de la prueba
(Figura 102) Resumen de la prueba

Esta función depende de los cambios realizados en la plataforma de pruebas de Visual Studio y exige que Visual Studio 2017 Update 4 esté instalado en el agente de compilación o versión. Las pruebas web no se pueden ejecutar con versiones anteriores de Visual Studio.

De igual forma, las pruebas web se pueden ejecutar mediante la tarea Ejecutar prueba funcional. Esta funcionalidad depende de los cambios efectuados en el agente de pruebas, que estará disponible con Visual Studio 2017 Update 5.

Sugerencia

Consulte la guía de inicio rápido Load test your app in the cloud using Visual Studio and VSTS (Efectuar una prueba de carga de su aplicación en la nube con Visual Studio y VSTS) como ejemplo de cómo puede usarlo junto con las pruebas de carga.

Widget de gráfico para planes de pruebas y conjuntos de pruebas

Antes se podían crear gráficos para planes de pruebas y conjuntos de pruebas en la central de pruebas y anclarlos en el panel. Hemos agregado un widget que permite crear gráficos para planes de pruebas y conjuntos de pruebas desde el catálogo de widgets del panel. Puede crear gráficos para el estado de redacción de pruebas o el estado de ejecución de pruebas. Es más, si agrega gráficos desde el widget, podrá crear gráficos de mayor tamaño si tiene más datos que mostrar en un gráfico (figura 103).

Widget de gráfico
(Figura 103) Widget de gráfico

Compatibilidad de capturas de pantalla y anotaciones para las aplicaciones de escritorio que tienen el explorador Chrome para efectuar pruebas manuales

Vamos a agregar la compatibilidad para una de las principales sugerencias de las pruebas manuales: hacer capturas de pantalla de aplicaciones de escritorio desde el ejecutor de pruebas web de la central de pruebas. Hasta ahora era necesario usar el ejecutor de pruebas en Microsoft Test Manager para hacer capturas de pantalla de aplicaciones de escritorio. Para poder usar esta funcionalidad, tiene que instalar la extensión Test & Feedback. Estamos implementando la compatibilidad con el explorador Chrome y, en breve, también la ofreceremos para Firefox.

Ya no se proporciona la extensión de TFS para SharePoint

TFS 2018 y las versiones posteriores ya no admiten la extensión de TFS para SharePoint. Además, las pantallas que se utilizan para configurar la integración entre un servidor de TFS y un servidor de SharePoint se han quitado de la Consola de administración de Team Foundation.

Nota:

Si actualiza a TFS 2018 desde una versión anterior configurada para integrarse con SharePoint, tendrá que deshabilitar la integración con SharePoint después de la actualización (si no lo hace, los sitios de SharePoint de TFS no se cargarán).

Hemos creado una solución que le permite deshabilitar la integración del servidor de SharePoint. Para más información, vea la entrada sobre el futuro de la integración de TFS/SharePoint.

Discontinuar las Salas de equipo

Los equipos de desarrollo modernos se basan en gran medida en la colaboración. Las personas quieren (y necesitan) un lugar para controlar la actividad (notificaciones) y hablar sobre ella (chat). Hace unos cuantos años, detectamos esta tendencia y creamos los Centros de reunión para dar respuesta a esta necesidad. Desde entonces, han surgido más soluciones de colaboración en el mercado. Lo más notable fue el auge de Slack. más recientemente, se ha anunciado el lanzamiento de Microsoft Teams.

Con tantas soluciones disponibles que se integran bien con TFS y Visual Studio Team Services, en enero anunciamos nuestra intención de retirar la característica Centro de reunión de TFS 2018 y de Visual Studio Team Services.


¿Qué tal lo estamos haciendo?

Nos encantaría que nos diera su opinión. Si tiene algún problema, puede notificarlo y realizar su seguimiento a través de la Comunidad de desarrolladores y recibir consejos en Stack Overflow.


Principio de página