Notas de la versión de Team Foundation Server 2018

Last Update: 22/11/2017

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

Download the latest version of Team Foundation Server

Para obtener más información sobre Team Foundation Server 2018, vea la página Compatibilidad y requisitos de Team Foundation Server.


Vídeo sobre las novedades en TFS 2018


Comentarios

Queremos que nos dé 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. Como siempre, si tiene alguna idea que le gustaría que priorizáramos, vaya a UserVoice para agregarla o para votar una existente.


Fecha de lanzamiento: 15 de noviembre de 2017

Resumen: actualizaciones de Team Foundation Server 2018

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

Características eliminadas en esta versión


Resumen: Novedades de esta versión

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 utilizar la interfaz web es que no necesita una versión coincidente de Visual Studio. La diferencia entre utilizar Visual Studio o la versión web es que la versión web no ofrece informes 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. Puede consultar los detalles en agregar informes del proyecto.

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 tiene que 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 los equipos están más centrados en Kanban y reemplazar el motivo por un campo personalizado. El campo de estado no se puede ocultar ni reemplazar.

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

Formulario de elemento de trabajo para móviles

Ofrecemos una experiencia integral con una apariencia optimizada para elementos de trabajo (figura 1). Permite, de forma sencilla, interactuar desde el teléfono con los elementos asignados a su usuario, así como elementos que siga, haya visitado o haya editado recientemente.

Mobile work item query

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

Junto con el aspecto, esta experiencia admite controles optimizados para todos los tipos de campo (Figura 2).

Mobile work item form

(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.

Mobile navigation

(Figura 3) Navegación móvil

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

En todas las experiencias de cuadrícula de seguimiento de elementos de trabajo (consultas, trabajos pendientes, paneles kanban, trabajos pendientes de sprint y administración de casos de prueba), ahora se puede usar 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.

Filtering on query

(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, basta con mover el puntero por encima de la tarjeta y buscar el botón de contenido adicional que apunta hacia abajo y que está situado en la parte inferior de la tarjeta.

Hidden field

(Figura 5) Campo oculto en una tarjeta kanban

Para actualizar el campo, haga clic en el botón de contenido adicional que apunta hacia abajo y que está situado en la parte inferior de la tarjeta (Figura 6).

Update hidden field

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

Extensiones para bloquear el guardado de elementos de trabajo

Ahora se puede bloquear el guardado de elementos de trabajo con los controles personalizados del formulario, los grupos y las páginas del elemento de trabajo. De este modo se pueden validar los datos y se garantiza que el usuario rellena cualquier información necesaria antes de guardar el formulario del elemento de trabajo.

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

En cualquier momento pueden llegar ideas de características nuevas, así que lo hemos puesto fácil para agregar características nuevas directamente a sus 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 creará una nueva característica con la ruta de acceso de área y la ruta de acceso de iteración que se esperaría.

Inline add on delivery plans

(Figura 7) Agregación en línea en los planes de entrega

Control de versiones

Bifurcaciones

En TFS 2018 se ha agregado compatibilidad con bifurcaciones de Git (Figura 8). Una bifurcación es la copia de un repositorio que se hace en un servidor. Con las bifurcaciones, puede permitir que un gran número de personas contribuya a su repositorio sin concederles acceso de confirmación directo, ya que confirman su trabajo en su propia bifurcación del repositorio. Esto le permite revisar los cambios en una solicitud de incorporación de cambios antes de aceptar los cambios en el repositorio central.

Git forks

(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 mediante la Web 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:

New folder option

(Figura 9) Opción de nueva carpeta

En TFVC, tendrá que especificar un nombre de carpeta y registrarlo. Para Git, dado que no se permiten las carpetas vacías, también tendrá que especificar un nombre de archivo; opcionalmente, editar el archivo; y, luego, confirmarlo.

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

New file dialog

(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).

File minimap

(Figura 11) Minimapa de archivo

Coincidencia de los corchetes

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

Bracket matching

(Figura 12) Coincidencia de corchetes

Alternar los espacios en blanco

Ahora puede activar o desactivar los espacios en blanco al ver o editar un archivo. Seguimos desarrollando una característica que le permitirá alternar los espacios en blanco cuando busque diferencias. Para ver los espacios en blanco (Figura 13), abra la paleta de comandos (F1 o clic con el botón derecho) y haga clic en Alternar espacio en blanco, opción que le permite diferenciar los espacios de las tabulaciones.

Toggle white space

(Figura 13) Alternar espacios en blanco

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

Los equipos que utilizan TFVC a menudo usan directivas de protección en Visual Studio para garantizar la calidad del código. Sin embargo, como estas directivas las debe cumplir el cliente, el código que se edita en la Web no está sujeto a las mismas directivas.

Muchas personas nos han preguntado cómo pueden deshabilitar la edición web para protegerse de los cambios que omiten las directivas de protección. Hemos habilitado una forma de desactivar la edición web (las opciones de agregar, eliminar, cambiar el nombre y editar) para TFVC en un proyecto o repositorio concreto.

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 al control dinámico Opciones y desactive Habilite 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.

Turn off web editing

(Figura 14) Desactivar la edición web

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

Web editing not allowed dialog

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

Esto se ha desarrollado en función de una sugerencia relacionada.

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. Hemos simplificado la identificación de ramas “obsoletas” (ramas que se dirigen a confirmaciones de más de 3 meses de antigüedad). Para ver las ramas obsoletas, vaya al control dinámico Obsoletas de la página Ramas (Figura 16).

Stale branches

(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 dónde ha ido a parar. 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).

Search for deleted branches

(Figura 17) Buscar ramas eliminadas

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

Restore deleted branches

(Figura 18) Restaurar ramas eliminadas

Al restaurar una rama, se volverá a crear en la confirmación a la que se dirigió 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).

Search for a commit

(Figura 19) Buscar una confirmación

Llamada de solicitud de incorporación de cambios enriquecida en la página de detalles de la confirmación

La llamada de solicitud de incorporación de cambios en la página de detalles de la confirmación muestra la información más relevante para ayudarle a hacer un mejor 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.

Pull request callout

(Figura 20) Llamada de solicitud de incorporación de cambios

Filtrar la vista de árbol en el código

Para tener acceso a sus archivos, ya no es necesario que se desplace por todos los archivos que pueda haber modificado una confirmación. Ahora se pueden filtrar archivos y carpetas en la vista de árbol de los detalles de la confirmación, las solicitudes de incorporación de cambios, los detalles del conjunto de cambios agregados pendientes de confirmación y la página de detalles del conjunto de cambios. 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):

Find a file or folder

(Figura 21) Buscar un archivo o una carpeta

Filtered view

(Figura 22) Vista filtrada en el árbol de confirmación

La página Actualizaciones de ramas se convierte en Inserciones

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 Actualizaciones de ramas estará visible como un concentrador denominado Inserciones (Figura 23) en Código, junto a Confirmaciones, Ramas, Etiquetas y Solicitudes de incorporación de cambios. La nueva dirección URL para la página de inserciones es: \<tfsserverurl\>/\<projectname\>/_git/\<reponame\>/pushes. Las direcciones URL antiguas seguirán funcionando.

Pushes page

(Figura 23) Página Inserciones

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 de los usuarios en los que indicaban que les resultaba difícil solucionar problemas relacionados con la confirmación, porque en la lista de confirmaciones solo se veía la hora al pasar el puntero por encima. Ahora, en la vista de lista de confirmaciones de la instancia, se mostrará la fecha y la hora con el 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.

Commits page

(Figura 24) Página Confirmaciones

Conservar el nombre de archivo al mover de Archivos a Confirmaciones

Hemos recibido comentarios de usuarios que indicaban que, al aplicar un filtro a un archivo determinado en el directorio del control dinámico Archivos del concentrador Código y después cambiar al controlador dinámico Historial, el nombre de archivo no se conservaba si con la confirmación se modificaban 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, el nombre de archivo se mantiene al cambiar de un control dinámico de concentrador Código a otro, independientemente del número de archivos que se modifiquen en una confirmación. 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.

View Git tags

(Figura 25) Ver etiquetas de Git

Puede diferenciar fácilmente entre una etiqueta ligera y una tarea 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.

Delete git tags

(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).

Filter Git tags

(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).

Git tag security

(Figura 28) Seguridad de las etiquetas de Git

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

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

Si va a vincular elementos de trabajo a solicitudes de incorporación de cambios, tener todo el contenido actualizado le simplificará las cosas. Así, al completar una solicitud de incorporación de cambios, podrá optar por completar automáticamente los elementos de trabajo vinculados cuando la solicitud se haya combinado correctamente (Figura 29). Si utiliza directivas y solicitudes de incorporación de cambios establecidas para realizar un completado automático, verá la misma opción. Ya no tendrá que acordarse de acceder de nuevo a los elementos de trabajo para actualizar su estado cuando la solicitud de incorporación de cambios se haya completado. Esto se completará automáticamente.

Complete linked work items

(Figura 29) Completar elementos de trabajo vinculados

Restablecer los votos de la iteración nueva o de inserción

Los equipos que opten por un flujo de trabajo de aprobación más estricto en las solicitudes de incorporación de cambios, pueden restablecer los votos al insertar 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.

Reset votes setting

(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 escala de tiempo de esta solicitud registrará una entrada cada vez que se restablezcan los votos como resultado de esta opción (Figura 31).

Reset votes in timeline

(Figura 31) Restablecer votos en la escala 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).

Find file or folder in pull request

(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).

Find results

(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.

PR comment filtering

(Figura 34) Filtrado de comentarios de solicitud de incorporación

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 al 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).

View original diff

(Figura 35) Ver diferencias originales

Si esto sucede, 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).

Update badge

(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, hemos 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).

Hide comments

(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:

Collapsed comments

(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.

Collapsed comment tooltip

(Figura 39) Información sobre herramientas de comentario contraído

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 buena forma de hacer el seguimiento de las tareas pendientes, tanto si es el creador como el revisor de la solicitud 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).

Task list toolbar

(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.

Task list

(Figura 41) Lista de tareas

Posibilidad de hacer “Me gusta” en los comentarios de 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.

Like pull request comments

(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

Usar 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.

Cancel auto-complete dialog

(Figura 43) Cuadro de diálogo Cancelar autocompletar

Filtrado de rutas de acceso 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 inserción o de incorporación de cambios de GIT, verá una nueva opción para filtrar estas notificaciones por la ruta de acceso de la carpeta (Figura 44).

Path filtering for notifications

(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 empieza con el título de la solicitud e información secundaria, como el nombre del repositorio, y el id. aparece 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.

Improved email template

(Figura 45) Plantilla de correo electrónico mejorada

En la mayoría de las alertas, la llamada a la acción (Figura 46) sirve para ver la solicitud de incorporación de cambios en la Web. Sin embargo, 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.

Email call-to-action

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

Se han actualizado las plantillas de correo electrónico para notificaciones de inserción

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 inserción es Ver envío de cambios, que abrirá la vista de inserciones de la inserción específica que generó la alerta.

Push template

(Figura 47) Plantilla de inserción

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.

Wiki page

(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)

Title wiki

(Figura 49) Wiki de título de solicitud de incorporación de cambios

  • Compatibilidad con etiquetas HTML en Markdown (Figura 50).

Wiki HTML tags

(Figura 50) Etiquetas HTML de wiki de solicitud de inserción de cambios

  • Posibilidad de cambiar el tamaño de las imágenes según le convenga en la carpeta de Markdown (Figura 51).

Image resize

(Figura 51) Cambio de tamaño de imagen de solicitud de inserción de cambios

  • 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).

Wiki menu

(Figura 52) Menú de wiki de solicitud de inserción de cambios

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

  • A medida que vaya utilizando 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).

Wiki revert button

(Figura 53) Botón Revertir de wiki de solicitud de inserción de cambios

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.

Create wiki page

(Figura 54) Página wiki para crear una solicitud de incorporación de cambios

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 direcciones URL 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.

Package URL

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

Como respuesta a esta sugerencia de UserVoice (Figura 56), ahora puede ocultar versiones de paquetes eliminados de todos los usuarios de la fuente (¡ya no tendrá que tachar más paquetes!).

Hide deleted packages

(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.

Last pushed column

(Figura 57) Última columna insertada

Paquetes de Maven

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

Maven packages

(Figura 58) Paquetes de Maven

Nueva tarea de NuGet unificada

Hemos combinado las tareas NuGet Restore, NuGet Packager y NuGet Publisher en una compilación de NuGet unificada para que se alinee mejor con el resto de la biblioteca de tareas de la compilación. De forma predeterminada, la nueva tarea utiliza NuGet 4.0.0. En consecuencia, hemos descartado las tareas antiguas y le recomendamos que, cuando 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 podrá acceder utilizando la tarea combinada.

Como parte de este trabajo, también hemos lanzado la nueva tarea Instalador de la herramienta NuGet, que controla la versión de NuGet disponible en la ruta de acceso y que utiliza 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).

Nuget task

(Figura 59) Tarea de NuGet

Obtenga más información sobre usar la última versión de NuGet en su compilación en el blog de Microsoft DevOps.

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 permitirá que la tarea continúe si intenta insertar paquetes en una fuente de TFS/VSTS cuya versión ya se esté utilizando.

Actualizaciones de tareas de la compilación de npm

No importa si compila su proyecto de npm en Windows, Linux o Mac, la nueva tarea de compilación de NPM funcionará 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, hemos simplificado la adquisición de credenciales para que las credenciales de los registros que se indican en el archivo de .npmrc del proyecto se puedan guardar de forma segura en un punto de conexión de servicio. Como alternativa, si usa una fuente VSTS/TFS, puede seleccionar una con un selector y, después, generaremos un archivo .npmrc con las credenciales 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. Hemos actualizado la tarea de Maven para que pueda trabajar fácilmente con fuentes de VSTS/TFS (Figura 60).

dotnet task

(Figura 60) Tarea dotnet

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 hemos recibido y se corrige un conjunto de errores de los que hemos hecho el seguimiento durante un tiempo.

  1. En primer lugar, ahora dotnet admite fuentes de paquetes autenticadas, como la administración de paquetes, por lo que ya no tendrá que utilizar la tarea de NuGet para restaurar paquetes desde fuentes de paquetes privados.
  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 coincidan con el patrón especificado, la tarea no se realizará correctamente. 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 colocando 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 es posible controlar el archivo de la ruta de acceso de salida.

También hemos lanzado la nueva tarea Instalador de la herramienta dotnet, que controla la versión de dotnet disponible en la ruta de acceso 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.

Trabajar fuera de su cuenta/colección

Ahora trabajar con fuentes (Figura 61) fuera de su servidor de TFS o su 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.

Feeds to use

(Figura 61) Fuente que 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 hemos oído casos en los que esta opción no es la más adecuada, así que hemos 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 usará en ese paso de compilación (Figura 62).

Feed picker

(Figura 62) Selector de fuente

Compilación y versión

Eliminación de la compatibilidad con las compilaciones XAML

En TFS 2015, se introdujo un sistema de compilación multiplataforma basado en web. En TFS 2018, este es el único modelo que se admite. Las compilaciones de XAML no se admiten en TFS 2018. Le recomendamos que migre las compilaciones XAML. Si no está preparado para migrar y necesita seguir utilizando las compilaciones XAML, no debe pasar a TFS 2018.

Al actualizarse a TFS 2018:

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

  • En TFS 2018, podrá ver compilaciones XAML finalizadas, pero no podrá poner nuevas a la cola.

  • No hay ninguna versión nueva del agente o controlador de compilaciones XAML en TFS 2018, y no puede configurar ninguna versión anterior del agente o controlador de compilaciones XAML para que funcione con TFS 2018.

Para obtener una explicación de nuestro plan de desuso de compilación XAML, vea la entrada de blog Evolución de las funciones de automatización de compilación de TFS/Team Services.

Exportar e importar las definiciones de la compilación

Las definiciones de la compilación se implementan internamente como archivos .json, por lo que en el historial del archivo podrá ver los detalles de los cambios. A partir de las definiciones de la compilación se pueden clonar y hacer plantillas, pero muchos usuarios deseaban poder hacer una copia de la lógica de compilación de integración continua para reutilizarla en otros proyectos de equipo. De hecho, esta fue una de las diez solicitudes más frecuentes en UserVoice.

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

Export build definition

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

Import build definition

(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 consultar un 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.

Dejar de utilizar 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 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.

Deprecated task badge

(Figura 65) Notificación 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 orientará a los usuarios para utilizar la tarea correctamente tanto en el catálogo de tareas como en las definiciones de la compilación/versión existentes.

Deprecated task description

(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

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

Secure files library

(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 hemos 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).

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 consumirá los artefactos y los implementará en los entornos. El diseño y la vinculación de los entornos reflejan la configuración del desencadenador definida para cada entorno.

Pipeline

(Figura 68) Canalización de versiones

Interfaz de usuario de configuración en contexto

Los artefactos, los desencadenadores de versiones, 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 disponibles en contexto y se puede configurar fácilmente (figura 69).

Release configuration

(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 permiten a los usuarios empezar fácilmente con solo especificar los parámetros más importantes, sin que sea necesario indicar detalles de las tareas (figura 70).

Deployment templates

(Figura 70) Plantillas de implementación

Administración simplificada de variables de entorno y versión

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 (Figura 71). 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.

Simplified management of variables

(Figura 71) Administración simplificada de variables

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.

Task editor

(Figura 72) Editores de tareas

Pestañas Grupos de variables, Retención y Opciones

Ahora, desde la pestaña Opciones, puede vincular o desvincular grupos de variables (Figura 73), establecer directivas de retención para entornos individuales y modificar la configuración en el nivel de definición de versión, como el formato del número de la versión. También puede guardar un entorno como una plantilla de implementación, establecer permisos en el nivel del entorno y cambiar el orden de las fases desde la pestaña Tareas.

Variable groups

(Figura 73) Grupos de variables

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

Environment menu

(Figura 74) Menú Entorno

Vea la documentación del Editor de definiciones de versión para más información.

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

Ahora, Release Management admite una sólida implementación estándar en varios equipos. 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. Pero, al contrario que el método actual por el que instala los agentes de implementación y compilación en un conjunto de servidores proxy de un grupo de agentes y se dirigen las implementaciones a servidores de destino remoto, el agente se instala directamente en todos los servidores de destino y se dirigen las implementaciones 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 entornos físicos, como desarrollo de cuadro único, control de calidad en varios equipos y una granja de máquinas para UAT/Prod. También especifican el contexto de seguridad para los entornos físicos.

Deployment groups

(Figura 75) Grupos de implementación

Puede utilizar esta opción en cualquier máquina virtual que registre con nuestro agente. También hemos 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.

Cuando tenga un grupo de implementaciones, solo tendrá que configurar las opciones que quiera que ejecutemos en dicho grupo (Figura 76). Las etiquetas le permiten controlar qué se ejecuta en cada equipo, pero también puede supervisar la velocidad de ejecución del lanzamiento.

Configure deployment groups

(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).

Deployment group progress

(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 destino, puede ver el estado de los destinos 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.

Deployment groups UI

(Figura 78) IU de grupos de implementación

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

Deployment groups UI tags

(Figura 79) Etiquetas de UI 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).

Task group references

(Figura 80) Referencias del grupo de tareas

Si intenta eliminar un grupo de tareas al que todavía se hace referencia, le avisaremos y le ofreceremos un vínculo a dicha 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. Si los cambios son importantes por naturaleza, puede optar por publicar el grupo de tareas como versión preliminar (una nueva versión principal). 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 verá un mensaje en que se le indica “Pruébela”. Cuando el grupo de tareas sale de la versión preliminar, las definiciones que lo usen se actualizarán automáticamente, deslizándose por ese canal principal (Figura 82).

Save as draft

(Figura 81) Guardar grupo de tareas como borrador

Publish task group as preview

(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 y exportación del grupo de tareas (Figura 83), como hemos hecho con las definiciones de la versión, ahora puede hacer una exportación como archivo JSON e importarlo donde quiera. También hemos habilitado los grupos de tareas anidados, que se expanden durante la exportación.

Export task group

(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.

Multi configuration of agentless tasks

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

Compatibilidad con 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 usarán en las notificaciones, así como en el correo electrónico que se envía a los usuarios (Figura 86).

Manual intervention task

(Figura 85) Tarea de intervención manual

Manual intevention pending dialog

(Figura 86) Cuadro de diálogo Intervención manual pendiente

Controlar las versiones de un entorno en función de la rama de origen

Se puede configurar la definición de una versión para que desencadene automáticamente una implementación al crear una versión, 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. Para ello, anteriormente, debía conservar dos canalizaciones de la versión: uno para el entorno de desarrollo y pruebas, y otro 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 implementarán en cada entorno cuando se cumplan 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.

Deployment conditions dialog

(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.

Release summary tip

(Figura 88) Sugerencia de resumen de versión

Desencadenadores de la versión para repositorios Git como una fuente de artefacto

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, en el que la confirmación desencadene una versión.

Release triggers

(Figura 89) Desencadenadores de versiones

Desencadenadores de la versión: implementación continua para cambios insertados en 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 puede configurar una implementación continua en la inserción de Git. 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 definiciones de versión ahora puede especificar condiciones de artefactos para un entorno en concreto. 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 maestra. 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 activará en este entorno solo si se cumplen todas las condiciones de los artefactos.

Branch filters

(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).

Hemos agregado una nueva tarea que puede usarse para invocar 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.

REST API task

(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.

Task control options

(Figura 92) Opciones de control de tareas

Notificación del estado de la versión en el concentrador 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 esto es mucho más fácil gracias a la integración del estado de implementación en la notificación del estado del concentrador de código para mostrar la lista de entornos en los que está implementado el código. En cada implementación, el estado se registra en la última confirmación que formaba parte de la implementación. Si se implementa una confirmación en diferentes definiciones de la versión (con diferentes entornos), cada una tiene una entrada en la notificación 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.

Release status badge

(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).

Deployment options dialog

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

Mejoras en el menú de definición de la compilación 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 permite diferenciar más fácilmente el mismo nombre de la definición de la compilación en diferentes carpetas.

Add artifact

(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 la versión a una versión anterior

Hasta el momento, al actualizar la definición de una versión, no se podía revertir directamente a una versión anterior. La única forma consistía en buscar los cambios en el historial de definiciones de la versión y, a continuación, editar manualmente la definición de la versió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.

Revert release definition

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

Notificaciones personalizadas para las versiones

Ahora, las notificaciones de versión están integradas con la experiencia de configuración de notificaciones de VSTS. En estas versiones de administración ahora se recibe una notificación automática sobre si hay acciones pendientes (aprobaciones o intervenciones manuales) y errores de implementación importantes. Para desactivar estas notificaciones, vaya a los ajustes de configuración Notificación, en el menú de perfil, y desactive la opción de suscripciones de versión. 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 tendrán 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).

Release notifications

(Figura 97) Notificaciones de versión

Vea la entrada sobre la administración de notificaciones de versión 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.

Mejoras en la rastreabilidad de las pruebas exploratorias para los vínculos de elementos de trabajo, iteraciones y rutas de acceso

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 creados durante la exploración de requisitos se crearán con la misma ruta de acceso e iteración que la del requisito, en vez de usar las opciones predeterminadas del equipo. Ahora los casos de prueba creados durante la exploración de los requisitos se vincularán a un vínculo Pruebas <-> Prueba realizada por en vez de usar el vínculo Primario <-> Secundario, de forma que los casos de prueba que cree se agregarán automáticamente al requisito en función de los conjuntos de pruebas. Por último, los elementos de trabajo creados mientras no se exploraba específicamente ningún requisito se archivarán en la iteración predeterminada del equipo en lugar de usar la iteración actual, de forma que los elementos de trabajo nuevos no entren en la iteración actual una vez completada la planificación del sprint.

Filtros para elementos de trabajo del caso de prueba en conjuntos y planes de pruebas en el concentrador de pruebas

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).

Test case filters

(Figura 98) Filtros de caso de prueba

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

Estamos agregando compatibilidad con los entornos de versión en el widget Tendencia de los resultados de la prueba (Figura 99) para que pueda hacer el seguimiento del estado de los entornos de prueba en los paneles de VSTS. Igual que para los resultados de las pruebas en Compilación, ahora puede crear gráficos de tendencias que muestren la tasa de pruebas superadas, el recuento de pruebas total, las pruebas correctas o con errores y la duración de la prueba 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.

Test trend chart

(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 concentrador Prueba, ahora puede asociar un error existente con una prueba que presente fallos. Esto resulta útil cuando se producen errores en una prueba a causa de un motivo conocido que presenta un error ya registrado.

Cargar datos adjuntos para ejecutar 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, que simplemente agrupa 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 de forma conjunta, mientras que las pruebas de ejecución prolongada pueden ser de 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.

Test batching

(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).

Test selection

(Figura 101) Selección de pruebas

Los resultados de la prueba web estará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.

Test summary

(Figura 102) Resumen de la prueba

Esta función depende de los cambios realizados en la plataforma de prueba de Visual Studio y es necesario que Visual Studio 2017 Update 4 esté instalado en el agente de descarga o compilació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.

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 probar estados de creación o de ejecución. 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).

Chart widget

(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.

Interrumpir los Centros de reunión

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. En concreto, vio la luz Slack y, 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.


Principio de página