Notes de publication de Team Foundation Server 2018 Team Foundation Server 2018 Release Notes

Note

Si vous accédez à cette page à partir d’une version autre que la version anglaise et que vous voulez voir le contenu le plus à jour, visitez cette page de notes de publication en anglais.If you are accessing this page from a non-English language version, and want to see the most up-to-date content, please visit this Release Notes page in English.

Conseil

Vous pouvez changer la langue de la page au bas de cette page.You can switch the page language at the bottom of this page. Cliquez sur le boutonClick the , recherchez votre langue ou sélectionnez-la dans la liste des langues disponibles. icon, search for your language, or select from the list of available languages.

Download the latest version of Team Foundation Server

Pour en savoir plus sur Team Foundation Server 2018, consultez la page Configuration requise et compatibilité de Team Foundation Server.To learn more about Team Foundation Server 2018, see the Team Foundation Server Requirements and Compatibility page.


Vidéo Nouveautés de TFS 2018What's New in TFS 2018 video


CommentairesFeedback

Nous aimerions connaître votre opinion !We’d love to hear from you! Vous pouvez signaler et suivre un problème sur Developer Community et obtenir des conseils sur Stack Overflow.You can report a problem and track it through Developer Community and get advice on Stack Overflow. Comme toujours, si vous avez des idées sur des améliorations à faire en priorité, rendez-vous sur UserVoice pour ajouter votre idée ou voter pour une idée existante.As always, if you have ideas on things you’d like to see us prioritize, head over to UserVoice to add your idea or vote for an existing one.


Date de publication : 15 novembre 2017Release Date: November 15, 2017

Résumé : Mises à jour de Team Foundation Server 2018Summary: Team Foundation Server 2018 Updates

Nous avons ajouté un grand nombre de nouvelles fonctionnalités dans Team Foundation Server 2018.We've added a lot of new value to Team Foundation Server 2018. Voici les principales :Some of the highlights include:

Fonctionnalités supprimées de cette versionFeatures Removed with this Release


En détail : Nouveautés de cette version releaseDetails: What's New in this Release

Suivi des éléments de travail Work Item Tracking

Assistant Création de projet sur le web Project Creation Wizard on the web

Nous avons amélioré l’expérience de création d’un projet d’équipe à partir de l’accès web.We have improved the experience for creating a Team Project from web access. Elle inclut désormais la plupart des fonctionnalités disponibles quand vous créez un projet d’équipe dans le client Visual Studio.It now includes most of the features available when you create a Team Project in the Visual Studio client. L’avantage de l’utilisation de l’interface web est que vous n’avez pas besoin d’une version correspondante de Visual Studio.The benefit of using the web interface is that you don't need a matching Visual Studio version. La différence entre Visual Studio et la version web est que la version web n’approvisionne pas vos rapports dans SSRS.The difference of using Visual Studio or the web version is that the web version doesn’t provision your reports in SSRS. Si vous avez utilisé la version web de la création de projet d’équipe, vous pouvez exécuter la commande tfsconfig sur la couche application pour approvisionner ou mettre à jour les rapports SSRS.If you used the web version of the Team Project creation, you can run the tfsconfig command on the Application Tier to provision or update the SSRS reports. Vous trouverez les détails dans AddProjectReports.See details in add project reports.

Gestionnaire de modèles de processus sur le webProcess Template Manager on the web

Avec TFS 2018, vous pouvez utiliser l’accès web pour charger vos modèles de processus.With TFS 2018, you can use web access to upload your process templates. L’interface web est une expérience beaucoup plus facile, car vous n’êtes pas obligé d’installer la version exactement correspondante de Visual Studio pour interagir avec vos modèles de processus.The web interface is a much easier experience because you don't have to install the correct version of Visual Studio to interact with your process templates. Visual Studio 2017 Update 4 et antérieur affiche toujours la boîte de dialogue Gestionnaire de modèles de processus, mais nous vous recommandons d’utiliser l’interface web.Visual Studio 2017 Update 4 and earlier will still show the Process Template Manager dialog, although we recommend using the web interface. Visual Studio 2017 Update 5 et ultérieur vous redirige automatiquement vers le site web.Visual Studio 2017 Update 5 and later will redirect you to the web automatically.

Personnaliser l’en-tête de formulaire d’élément de travail Customize the work item form header

Vous pouvez désormais personnaliser la zone d’en-tête d’un formulaire d’élément de travail en remplaçant les contrôles existants ou en masquant ceux qui ne présentent pas d’intérêt pour votre processus.You can now customize the work item form header area by replacing the existing controls, or hiding controls, that are not relevant to your process. Cela vous permet de remplacer le champ Chemin de la zone par un champ Équipe personnalisé, de masquer le champ Itération si vos équipes sont plus axées sur le Kanban et de remplacer le champ Raison par un champ personnalisé.This will enable replacing Area path with a custom Team field, hiding Iteration if your teams are more Kanban focused, and replacing Reason with a custom field. Le champ État ne peut être ni masqué ni remplacé.The State field cannot be hidden or replaced.

Pour plus d’informations, consultez la documentation sur les éléments WebLayout et Control.See the documentation for WebLayout and Control elements for more information.

Formulaire d’élément de travail mobile Mobile work item form

Nous proposons une expérience complète de bout en bout qui inclut une optimisation de l’aspect des éléments de travail (Figure 1).We have a full end-to-end experience that includes an optimized look and feel for work items (Figure 1). Elle offre un moyen facile d’interagir avec les éléments qui vous sont assignés, que vous suivez ou que vous avez visités ou modifiés récemment, à partir de votre téléphone.It provides an easy way to interact with items that are assigned to you, that you’re following, or that you have visited, or edited recently, from your phone.

Mobile work item query
(Figure 1) Requête d’élément de travail mobile(Figure 1) Mobile work item query

En plus d’une apparence agréable, cette expérience prend en charge les contrôles optimisés pour tous les types de champs (Figure 2).Along with the good looks, this experience supports optimized controls for all field types (Figure 2).

Mobile work item form
(Figure 2) Formulaire d’élément de travail mobile(Figure 2) Mobile work item form

Avec la nouvelle navigation mobile (Figure 3), les utilisateurs peuvent atteindre tous les autres composants de TFS prêts pour le mobile, et revenir ensuite au site complet pour poste de travail au cas où ils auraient besoin d’interagir avec d’autres hubs.With the new mobile navigation (Figure 3), users can reach any other mobile-ready parts of TFS and get back to the full desktop site in case they need to interact with other hubs.

Mobile navigation
(Figure 3) Navigation mobile(Figure 3) Mobile navigation

Filtrage sur les backlogs, les tableaux kanban, les sprints et les requêtesFiltering on backlogs, Kanban boards, sprints, and queries

Toutes nos expériences de grille de suivi des éléments de travail (requêtes, backlogs, tableaux kanban, backlogs de sprints et gestion de cas de test) utilisent désormais notre composant de filtrage commun et cohérent (Figure 4).All of our work item tracking grid experiences (queries, backlogs, Kanban boards, sprints backlogs, and test case management) now make use of our common, consistent filtering component (Figure 4). En plus d’appliquer un filtre de mots clés sur les colonnes affichées et de sélectionner des étiquettes, vous pouvez aussi filtrer sur les types, les états et les affectations des éléments de travail, ce qui vous permet d’accéder rapidement à ceux que vous cherchez.Beyond applying a keyword filter across displayed columns and selecting tags, you can also filter on work item types, states, and assigned to, in order to quickly get to the work items you are looking for.

Filtering on query
(Figure 4) Filtrage sur les requêtes(Figure 4) Filtering on queries

Développer pour afficher les champs vides sur une carte kanbanExpand to show empty fields on a Kanban card

Aujourd’hui, vous avez la possibilité d’ajouter des champs supplémentaires à une carte, puis de masquer les champs vides (Figure 5) dans les paramètres de la carte pour en éliminer les éléments en désordre qui ne sont pas nécessaires.Today, you have the option to add additional fields to a card and then hide empty fields (Figure 5) in board settings to remove unnecessary clutter from the board. L’inconvénient de cette fonctionnalité était qu’une fois qu’un champ vide était masqué, la seule façon de le mettre à jour était d’ouvrir le formulaire d’élément de travail.The drawback to this feature was that once an empty field was hidden, the only way to update the field was to open the work item form. Avec la nouvelle option de développement disponible sur les cartes kanban, vous pouvez désormais bénéficier du masquage des champs vides dans le tableau, tout en pouvant accéder en un seul clic à la mise à jour d’un champ particulier sur une carte.With the newly available expand option on Kanban cards, you can now benefit from hiding empty fields across the board, but still have single click access to update a particular field on a card. Pointez simplement sur la carte et recherchez le chevron orienté vers le bas dans la partie inférieure de la carte pour mettre à jour le champ masqué.Simply hover over the card and look for the down chevron at the bottom of the card to update the hidden field.

Hidden field
(Figure 5) Champ masqué sur la carte kanban(Figure 5) Hidden field on Kanban card

Cliquez sur le chevron orienté vers le bas dans la partie inférieure de la carte pour mettre à jour le champ (Figure 6).Click the down chevron at the bottom of the card to update the field (Figure 6).

Update hidden field
(Figure 6) Mettre à jour le champ masqué sur la carte kanban(Figure 6) Update hidden field on Kanban card

Blocage de l’enregistrement des éléments de travail par les extensionsExtensions block work item save

Les contrôles personnalisés, les groupes et les pages des formulaires d’élément de travail peuvent désormais bloquer l’enregistrement des éléments de travail pour valider les données et vérifier que l’utilisateur renseigne les informations obligatoires avant d’enregistrer le formulaire d’élément de travail.Work item form custom controls, groups, and pages can now block work item save to validate data and ensure the user fills out any required information before saving the work item form.

Ajout inclus dans les plans de livraisonInline add on Delivery Plans

Comme les idées de nouvelles fonctionnalités peuvent arriver à tout moment, nous avons facilité l’ajout de nouvelles fonctionnalités directement dans vos Plans de livraison (Figure 7).New feature ideas can arrive at any moment, so we’ve made it easier to add new features directly to your Delivery Plans (Figure 7). Il vous suffit de cliquer sur le bouton Nouvel élément disponible en pointant avec la souris, d’entrer un nom, puis d’appuyer sur Entrée.Simply click the New item button available on hover, enter a name, and hit enter. Une nouvelle fonctionnalité est alors créée avec le chemin de zone et le chemin d’itération attendus.A new feature will be created with the area path and iteration path you’d expect.

Inline add on delivery plans
(Figure 7) Ajout inclus dans les plans de livraison(Figure 7) Inline add on delivery plans

Gestion de versions Version Control

Duplications (forks) Forks

TFS 2018 ajoute la prise en charge des duplications Git (Figure 8).TFS 2018 adds support for Git forks (Figure 8). Une duplication est une copie côté serveur d’un dépôt.A fork is a server-side copy of a repository. En utilisant des duplications, vous pouvez permettre à un large éventail de personnes de contribuer à votre dépôt sans leur octroyer un accès direct à la validation.Using forks, you can allow a broad range of people to contribute to your repository without giving them direct commit access. Au lieu de cela, ils valident leur travail sur leur propre duplication du dépôt.Instead, they commit their work to their own fork of the repository. Ceci vous donne la possibilité d’examiner leurs modifications dans une demande de tirage (pull request) avant de les accepter dans le dépôt central.This gives you the opportunity to review their changes in a pull request before accepting those changes into the central repository.

Git forks
(Figure 8) Duplications (fork) GIT(Figure 8) Git forks

GVFS GVFS

Le système GVFS (Git Virtual File System) est désormais pris en charge.Git Virtual File System (GVFS) is now supported. Avec GVFS, les dépôts Git peuvent accueillir plusieurs millions de fichiers en virtualisant et en optimisant le fonctionnement de Git sur le système de fichiers.GVFS allows Git repositories to scale to millions of files by virtualizing and optimizing how Git operates on the filesystem.

Créer un dossier dans un dépôt via le webCreate a folder in a repository using web

Vous pouvez désormais créer des dossiers via le web dans vos dépôts Git et TFVC (Figure 9).You can now create folders via the web in your Git and TFVC repositories (Figure 9). Ce système remplace l’extension Folder Management, qui va être soumise à un processus de dépréciation.This replaces the Folder Management extension, which will now undergo the process of deprecation.

Pour créer un dossier, cliquez sur Nouveau > Dossier dans la barre de commandes ou dans le menu contextuel :To create a folder, click New > Folder in either the command bar or context menu:

New folder option
(Figure 9) Option Nouveau dossier(Figure 9) New folder option

Pour TFVC, vous devez spécifier un nom de dossier, puis l’archiver.For TFVC, you’ll specify a folder name and then check it in. Dans le cas de Git, sachant que les dossiers vides ne sont pas autorisés, vous devez là aussi spécifier un nom de fichier, modifier éventuellement le fichier, puis le valider.For Git, because empty folders aren’t permitted, you’ll also have to specify a file name, optionally edit the file, then commit it.

Par ailleurs, pour Git, la boîte de dialogue Nouveau fichier (Figure 10) a été améliorée pour accepter des barres obliques et créer des sous-dossiers.Additionally, for Git, The New file dialog (Figure 10) has been enhanced to accept slashes to create subfolders.

New file dialog
(Figure 10) Boîte de dialogue Nouveau fichier(Figure 10) New file dialog

Miniplan de fichierFile minimap

Vous pouvez désormais afficher le miniplan d’un fichier que vous consultez ou modifiez pour obtenir un bref aperçu du code (Figure 11).You can now view a minimap of a file as you view or edit to give you a quick overview of the code (Figure 11). Pour activer le miniplan, ouvrez la Palette de commandes (F1 ou clic droit), puis sélectionnez Activer/désactiver le miniplan.To turn on the minimap, open the Command Palette (F1 or right-click) and select Toggle Minimap.

File minimap
(Figure 11) Miniplan de fichier(Figure 11) File minimap

Appariement des accoladesBracket matching

Quand vous modifiez ou consultez un fichier, des indications s’affichent désormais à gauche pour faciliter la mise en correspondance des accolades (Figure 12).When editing or viewing a file, there are now guidelines on the left side to make it easy to match your brackets (Figure 12).

Bracket matching
(Figure 12) Appariement des accolades(Figure 12) Bracket matching

Activation/désactivation des espaces blancsToggle white space

Vous pouvez désormais activer/désactiver les espaces blancs pendant que vous consultez ou modifiez un fichier.You can now toggle white space on and off when viewing or editing a file. Nous développons actuellement une fonctionnalité qui vous permettra d’activer/désactiver les espaces blancs pendant que vous comparez des versions.We are still developing a feature that will allow you to toggle white space when diff’ing. Pour afficher les espaces blancs (Figure 13), ouvrez la Palette de commandes (F1 ou clic droit), puis sélectionnez Activer/désactiver les espaces blancs, qui vous permet de faire la distinction entre les espaces et les tabulations.To view white space (Figure 13), open the Command Palette (F1 or right-click) and select Toggle White Space, which allows you to differentiate between spaces and tabs.

Toggle white space
(Figure 13) Activation/désactivation des espaces blancs(Figure 13) Toggle white space

Paramètre pour désactiver l’édition web pour les dépôts TFVCSetting to turn off web editing for TFVC repos

Les équipes qui utilisent souvent des TFVC utilisent des stratégies d’archivage dans Visual Studio pour garantir la qualité du code.Teams that use TFVC often use check-in policies in Visual Studio to ensure code quality. Toutefois, étant donné que les stratégies d’archivage sont appliquées sur le client, le code qui est modifié sur le web n’est pas soumis aux mêmes stratégies.However, because check-in policies are enforced on the client, code that is edited on the web isn’t subjected to the same policies.

Plusieurs personnes ont demandé un moyen de désactiver l’édition web pour protéger contre les modifications qui contournent les stratégies d’archivage.Several people have asked for a way to disable web-editing to protect against changes that bypass check-in policies. Nous avons mis en place un moyen de désactiver l’édition web (ajout, suppression, renommage et modification) pour TFVC au niveau des projets/dépôts.We’ve enabled a way for you to turn off web-editing (adding, deleting, renaming, and editing) for TFVC on a project/repository basis.

Pour interdire l’édition web à partir de la page Fichiers, accédez à Paramètres, puis Gestion de version (Figure 14).To disallow web-editing from the Files page, go to Settings then Version Control (Figure 14). Cliquez sur le dépôt TFVC dans l’arborescence, accédez au nœud Options et décochez la case Activer l’édition web pour ce dépôt TFVC.Click on the TFVC repo in the tree, navigate to the Options pivot, and uncheck Enable web-editing for this TFVC repository. Par défaut, l’édition web est activée.By default, web-editing is enabled.

Note

L’édition du fichier README à partir de la page Vue d’ensemble du projet n’est pas affectée.Editing the README from the Project Overview page is unaffected.

Turn off web editing
(Figure 14) Désactiver l’édition web(Figure 14) Turn off web editing

Si vous essayez d’éditer via le web un projet pour lequel l’édition web est désactivée, vous êtes informé que l’édition web n’est pas autorisée (Figure 15).If you attempt a web-edit in a project with web-editing disabled, you will be notified that web-editing is not allowed (Figure 15).

Web editing not allowed dialog
(Figure 15) Boîte de dialogue Édition web non autorisée(Figure 15) Web editing not allowed dialog

Conseil

Ceci a été développé à partir d’une suggestion faite à ce sujet.This has been developed based on a related suggestion.

Identifier les branches périméesIdentify stale branches

Le fait de garder « propre » votre dépôt en supprimant les branches dont vous n’avez plus besoin permet aux équipes de trouver les branches qui les intéressent et de définir des favoris au bon niveau de granularité.Keeping your repository clean by deleting branches you no longer need enables teams to find branches they care about and set favorites at the right granularity. Cependant, si vous avez un grand nombre de branches dans votre dépôt, il peut être difficile de savoir lesquelles sont inactives et peuvent être supprimées.However, if you have lots of branches in your repo, it can be hard to figure out which are inactive and can be deleted. Nous avons maintenant rendu plus facile l’identification des branches « périmées » (les branches qui pointent vers des validations antérieures à 3 mois).We’ve now made it easier to identify “stale” branches (branches that point to commits older than 3 months). Pour afficher vos branches périmées, accédez à l’onglet Périmées dans la page Branches (Figure 16).To see your stale branches, go to the Stale pivot on the Branches page (Figure 16).

Stale branches
(Figure 16) Branches périmées(Figure 16) Stale branches

Rechercher une branche supprimée et la recréerSearch for a deleted branch and re-create it

Quand une branche est accidentellement supprimée du serveur, il peut être difficile de déterminer ce qui lui est arrivé.When a branch is accidentally deleted from the server, it can be difficult to figure out what happened to it. Vous pouvez désormais rechercher une branche supprimée, voir qui l’a supprimée et quand, et la recréer si vous le souhaitez.Now you can search for a deleted branch, see who deleted it and when, and re-create it if you wish.

Pour rechercher une branche supprimée, entrez le nom complet de la branche dans la zone de recherche de branches.To search for a deleted branch, enter the full branch name into the branch search box. La recherche retourne toutes les branches existantes qui correspondent à ce texte.It will return any existing branches that match that text. Vous voyez également une option pour rechercher une correspondance exacte dans la liste des branches supprimées.You will also see an option to search for an exact match in the list of deleted branches. Cliquez sur le lien pour rechercher des branches supprimées (Figure 17).Click the link to search deleted branches (Figure 17).

Search for deleted branches
(Figure 17) Rechercher les branches supprimées(Figure 17) Search for deleted branches

Si une correspondance est trouvée, vous voyez qui l’a supprimée et quand.If a match is found, you will see who deleted it and when. Vous pouvez aussi restaurer la branche (Figure 18).You can also restore the branch (Figure 18).

Restore deleted branches
(Figure 18) Restaurer les branches supprimées(Figure 18) Restore deleted branches

La restauration de la branche la recrée au niveau de validation vers lequel elle pointait en dernier.Restoring the branch will re-create it at the commit to which is last pointed. Elle ne restaure cependant pas les stratégies et les autorisations.However, it will not restore policies and permissions.

Rechercher une validation dans des branches commençant par un préfixeSearch for a commit in branches starting with a prefix

Si vous avez une structure de branches dans un format hiérarchique où toutes les branches sont préfixées par un certain texte, cette fonctionnalité vous aide à trouver une validation dans toutes les branches commençant par ce texte de préfixe.If you have branch structure in a hierarchical format where all branches are prefixed with a text, then this feature will help you to find a commit in all the branches starting with that prefix text. Par exemple, pour voir si une validation a bien été effectuée pour toutes les branches ayant le préfixe « dev », tapez simplement « dev » dans la zone de recherche et sélectionnez Rechercher dans les branches commençant par « dev » (Figure 19).For example, if you want to see whether a commit made its way to all branches that are prefixed with "dev" then simply type "dev" in the search box and select Search in branches starting with "dev" (Figure 19).

Search for a commit
(Figure 19) Rechercher une validation(Figure 19) Search for a commit

Légende des demandes de tirage (pull requests) plus détaillée dans la page des détails de validationRicher pull request callout on commit details page

La légende des demandes de tirage dans la page des détails de validation affiche des informations plus pertinentes pour vous aider à établir un meilleur diagnostic (Figure 20).The pull request callout on the commit details page shows more relevant information to help you diagnose better (Figure 20). Nous montrons désormais aussi dans la légende la première demande de tirage qui a introduit la validation des branches, et la demande de tirage associée à la branche par défaut.Now we also show the first pull request that introduced the commit to any branch and the pull request associated with the default branch in the callout.

Pull request callout
(Figure 20) Légende de demande de tirage(Figure 20) Pull request callout

Filtrer l’arborescence dans le codeFilter tree view in Code

Désormais, vous ne devez plus faire défiler tous les fichiers qui peuvent avoir été modifiés par une validation pour simplement accéder à vos fichiers.Now you don’t need to scroll through all the files that a commit may have modified to just get to your files. L’arborescence sur la page des détails de validation, des demandes de tirage, des détails du jeu de réservations et des détails de l’ensemble de modifications prend désormais en charge le filtrage des fichiers et des dossiers.The tree view on commit details, pull requests, shelveset details, and changeset details page now supports file and folder filtering. Il s’agit d’un filtre intelligent qui montre les fichiers enfants d’un dossier quand vous filtrez par nom de dossier, et qui affiche une arborescence réduite d’un fichier pour montrer la hiérarchie des fichiers quand vous filtrez par nom de fichier.This is a smart filter that shows child files of a folder when you filter by folder name and shows a collapsed tree view of a file to display the file hierarchy when you filter by file name.

Filtre Rechercher un fichier ou un dossier dans l’arborescence des validations (Figure 21) et (Figure 22) :Find a file or folder filter on commit tree (Figure 21) and (Figure 22):

Find a file or folder
(Figure 21) Rechercher un fichier ou un dossier(Figure 21) Find a file or folder
Filtered view
(Figure 22) Vue filtrée dans l’arborescence des validations(Figure 22) Filtered view on commit tree

La page des mises à jour de branche est désormais Envois (Pushes)Branch updates page is now Pushes

La page Mises à jour de branche est très importante.The Branch Updates page has tremendous value. Pourtant, elle était masquée sous la forme d’un onglet sous le hub Historique.However, it was hidden as a pivot under the History hub. La page des mises à jour de branche est désormais visible sous la forme d’un hub appelé Push (Figure 23) sous Code, au même titre que Validations, Branches, Étiquettes et Demandes de tirage (pull requests).Now the branch updates page will be visible as a hub called Pushes (Figure 23) under Code, alongside Commits, Branches, Tags, and Pull Requests. La nouvelle URL de la page d’envois (push) est : \<tfsserverurl\>/\<projectname\>/_git/\<reponame\>/pushes.The new URL for the pushes page is: \<tfsserverurl\>/\<projectname\>/_git/\<reponame\>/pushes. Les anciennes URL continueront de fonctionner.The old URLs will continue to function.

Pushes page
(Figure 23) Page Envois (push)(Figure 23) Pushes page

Dans le même temps, le hub Historique a été renommé Validations (Figure 24), car il affiche uniquement les validations.At the same time, the History hub is now renamed to Commits (Figure 24) since the hub only shows commits. Nous avons reçu des commentaires selon lesquels des utilisateurs éprouvaient des difficultés à résoudre les problèmes liés aux validations, car il était nécessaire de pointer avec la souris sur une validation dans la vue présentant la liste des validations pour obtenir les détails de date/heure.We received feedback that people were finding it difficult to troubleshoot commit related issues because the commit list view only showed detailed time on-hover. La vue de la liste des validations pour votre instance montre désormais la date et l’heure au format jj/mm/aa hh:mm.Now the commit list view across your instance will show date and time in dd/mm/yy hh:mm format. La nouvelle URL pour la page de validations est : \<tfsserverurl\>/\<projectname\>/_git/\<reponame\>/commits.The new URL for commits page is: \<tfsserverurl\>/\<projectname\>/_git/\<reponame\>/commits. Les anciennes URL continueront de fonctionner.The old URLs will continue to function.

Commits page
(Figure 24) Page Validations(Figure 24) Commits page

Conservation du nom de fichier lors du passage de Fichiers à ValidationsRetain filename when moving from Files to Commits

Nous avons reçu des commentaires de personnes indiquant que, quand elles filtrent le répertoire sur un fichier particulier dans l’onglet Fichiers du hub Code et repassent après cela à l’onglet Historique, le nom du fichier n’est pas conservé si la validation a modifié plus de 1 000 fichiers.We heard feedback from people that when they filter the directory to a particular file in the Files pivot of the Code hub and later flip to the History pivot, the filename isn’t persisted if the commit changed more than 1,000 files. Ceci les obligeait à charger plus de fichiers et à filtrer le contenu pour rechercher le fichier, ce qui impactait la productivité.This resulted in people needing to load more files and filter content to find the file, which was impacting productivity. Les développeurs travaillent normalement dans le même répertoire et veulent rester dans les répertoires où ils travaillent quand ils suivent les modifications.Developers normally work in the same directory and want to persist to the directories they work in as they trace changes. Nous conservons désormais le nom de fichier quand vous passez entre les onglets du hub Code, quel que soit le nombre de fichiers modifiés dans une validation.Now, we persist the filename as you move between Code hub pivots regardless of the number of files changed in a commit. Cela signifie que vous n’avez pas à cliquer sur Charger plus pour rechercher le fichier souhaité.This means that you do not have to click on Load More to find the file you want.

Afficher les étiquettes Git View Git tags

Vous pouvez afficher toutes les étiquettes de votre dépôt dans la page Étiquettes (Figure 25).You can view all the tags in your repository on the Tags page (Figure 25). Si vous gérez toutes vos étiquettes en tant que versions, un utilisateur peut visiter la page des étiquettes pour obtenir une vue d’ensemble de toutes les versions d’un produit.If you manage all your tags as releases, then a user can visit the tags page to get a bird’s-eye view of all the product releases.

View Git tags
(Figure 25) Afficher les étiquettes Git(Figure 25) View Git tags

Vous pouvez facilement distinguer une étiquette légère d’une étiquette annotée.You can easily differentiate between a lightweight and an annotated tag. Les étiquettes annotées montrent le nom de la personne qui a affecté l’étiquette et la date de création avec la validation associée, alors que les étiquettes légères montrent seulement les informations de validation.Annotated tags show the tagger and the creation date alongside the associated commit, while lightweight tags only show the commit information.

Supprimer des étiquettes GitDelete Git tags

Il peut arriver que vous souhaitiez supprimer une étiquette de votre dépôt distant.There can be times when you want to delete a tag from your remote repo. Il peut s’agir d’une faute de frappe dans le nom de l’étiquette, ou vous avez placé une étiquette avec une validation incorrecte.It could be due to a typo in the tag name, or you might have tagged the wrong commit. Vous pouvez facilement supprimer des étiquettes à partir de l’interface utilisateur web en cliquant sur le menu contextuel d’une étiquette de la page Étiquettes et en sélectionnant Supprimer l’étiquette (Figure 26).You can easily delete tags from the web UI by clicking the context menu of a tag on the Tags page and selecting Delete tag (Figure 26).

Avertissement

La suppression d’étiquettes sur des dépôts distants doit être effectuée avec précaution.Deleting tags on remote repos should be exercised with caution.

Delete git tags
(Figure 26) Supprimer les étiquettes Git(Figure 26) Delete Git tags

Filtrage des étiquettes GitFiltering Git tags

Pour les dépôts anciens, le nombre d’étiquettes peut considérablement augmenter avec le temps. Il peut aussi exister des dépôts qui ont des étiquettes créées dans les hiérarchies, ce qui peut compliquer la recherche des étiquettes.For old repositories, the number of tags can grow significantly with time; there can also be repositories that have tags created in hierarchies, which can make finding tags difficult.

Si vous ne trouvez pas l’étiquette que vous cherchez dans la page Étiquettes, vous pouvez simplement rechercher le nom de l’étiquette à l’aide du filtre en haut de la page Étiquettes (Figure 27).If you are unable to find the tag that you were looking for on the Tags page, then you can simply search for the tag name using the filter on top of the Tags page (Figure 27).

Filter Git tags
(Figure 27) Filtrer les étiquettes Git(Figure 27) Filter Git tags

Sécurité des étiquettes GitGit tags security

Vous pouvez désormais accorder des autorisations granulaires aux utilisateurs du dépôt pour gérer les étiquettes.Now you can grant granular permissions to users of the repo to manage tags. Vous pouvez accorder aux utilisateurs l’autorisation de supprimer ou de gérer les étiquettes à partir de cette interface (Figure 28).You can give users the permission to delete tags or manage tags from this interface (Figure 28).

Git tag security
(Figure 28) Sécurité des étiquettes Git(Figure 28) Git tag security

Pour plus d’informations sur les étiquettes Git, consultez le blog Microsoft DevOps.Read more about Git tags at the Microsoft DevOps blog.

Compléter automatiquement les éléments de travail à la fin des demandes de tirage (pull requests) Automatically complete work items when completing pull requests

Si vous liez des éléments de travail à vos demandes de tirage, conserver tout à jour est devenu plus simple.If you’re linking work items to your PRs, keeping everything up to date just got simpler. Désormais, quand vous effectuez une demande de tirage, vous pouvez choisir de terminer automatiquement les éléments de travail liés une fois que la demande de tirage a été fusionnée (Figure 29).Now, when you complete a PR, you’ll have the option to automatically complete the linked work items after the PR has been merged successfully (Figure 29). Si vous utilisez des stratégies et que vous configurez les demandes de tirage pour qu’elles soient achevées automatiquement, vous voyez la même option.If you’re using policies and set PRs to auto-complete, you’ll see the same option. Vous n’avez plus besoin de vous rappeler de revisiter les éléments de travail pour mettre à jour l’état une fois la demande de tirage terminée.No more remembering to revisit work items to update the state once the PR has completed. Cette action est effectuée automatiquement pour vous.This will be done for you automatically.

Complete linked work items
(Figure 29) Compléter automatiquement les éléments de travail liés(Figure 29) Complete linked work items

Réinitialiser les votes après envoi (push)/nouvelle itérationReset votes on push/new iteration

Les équipes qui optent pour un workflow d’approbation plus strict dans les demandes de tirage peuvent désormais choisir de réinitialiser les votes quand de nouvelles modifications sont envoyées (push)(Figure 30).Teams opting for a more strict approval workflow in PRs can now opt-in to reset votes when new changes are pushed (Figure 30). Le nouveau paramètre est une option sous la stratégie consistant à Demander un nombre minimal de réviseurs.The new setting is an option under the policy to Require a minimum number of reviewers.

Reset votes setting
(Figure 30) Paramètre de réinitialisation des votes(Figure 30) Reset votes setting

Quand elle est appliquée, cette option fait que tous les votes de tous les réviseurs sont réinitialisés dès que la branche source de la demande de tirage est mise à jour.When set, this option will cause all votes from all reviewers to be reset any time the source branch of the PR is updated. La chronologie de la demande de tirage enregistre une entrée chaque fois que les votes sont réinitialisés à la suite de cette option (Figure 31).The PR timeline will record an entry any time the votes are reset as a result of this option (Figure 31).

Reset votes in timeline
(Figure 31) Réinitialiser les votes dans la chronologie(Figure 31) Reset votes in timeline

Filtrer l’arborescence des demandes de tirage (pull requests) par nom de fichierFilter pull request tree by file name

La recherche d’un fichier spécifique dans une demande de tirage n’a jamais été aussi facile.Finding a specific file in a pull request is easier than ever. La nouvelle zone de filtre de la vue Fichiers permet aux utilisateurs de filtrer la liste des fichiers de l’arborescence (Figure 32).The new filter box in the Files view lets users filter down the list of files in the tree view (Figure 32).

Find file or folder in pull request
(Figure 32) Rechercher un fichier ou un dossier dans une demande de tirage(Figure 32) Find file or folder in pull request

Le filtre recherche une correspondance avec n’importe quelle partie du chemin des fichiers dans la demande de tirage : vous pouvez donc faire des recherches par noms de dossiers, par chemins partiels, par noms de fichiers ou par extensions (Figure 33).The filter matches any part of the path of the files in the pull request, so you can search by folder names, partial paths, file names, or extensions (Figure 33).

Find results
(Figure 33) Résultats de la recherche(Figure 33) Find results

Plus d’options de filtrage des commentaires des demandes de tirage (pull requests)More pull request comments filtering options

Les commentaires dans la vue d’ensemble de la demande de tirage et ceux de la vue Fichiers ont désormais les mêmes options (Figure 34).Comments in both the pull request overview and the files view now have the same options (Figure 34). Vous pouvez également filtrer pour afficher seulement les discussions auxquelles vous avez participé.You can also filter to see only the discussions you participated in.

PR comment filtering
(Figure 34) Filtrage des commentaires d’une demande de tirage(Figure 34) PR comment filtering

Afficher les différences avec l’original pour les commentaires du code dans les détails de la demande de tirageView original diff for code comments in pull request details

Il est parfois difficile de comprendre le sens d’un commentaire d’une demande de tirage une fois que le code auquel il fait référence a changé (dans de nombreux cas, quand un changement demandé a été effectué) (Figure 35).Sometimes, it’s hard to make sense out of a PR comment after the code it’s referencing has changed (many times, when a requested change has been made) (Figure 35).

View original diff
(Figure 35) Afficher les différences avec l’original(Figure 35) View original diff

Quand cela se produit, vous voyez désormais un badge avec un numéro de mise à jour, sur lequel vous pouvez cliquer pour voir comment le code se présentait au moment où le commentaire a été créé initialement (Figure 36).When this happens, you’ll now see a badge with an update number that you can click to see what the code looked like at the time the comment was originally created (Figure 36).

Update badge
(Figure 36) Badge de mise à jour(Figure 36) Update badge

Commentaires réductibles pour les demandes de tirage (pull requests)Collapsible pull request comments

La révision du code étant une partie critique de l’expérience des demandes de tirage, nous avons ajouté de nouvelles fonctionnalités pour permettre aux réviseurs de se concentrer plus facilement sur le code.Reviewing code is a critical part of the pull request experience, so we’ve added new features to make it easier for reviewers to focus on the code. Les réviseurs de code peuvent facilement masquer les commentaires pour les faire disparaître lors d’une première revue de nouveau code (Figure 37).Code reviewers can easily hide comments to get them out of the way when reviewing new code for the first time (Figure 37).

Hide comments
(Figure 37) Masquer les commentaires(Figure 37) Hide comments

Le masquage des commentaires (Figure 38) les masque dans l’arborescence et réduit les threads de commentaires dans la vue Fichiers :Hiding comments (Figure 38) hides them from the tree view and collapses the comment threads in the file view:

Collapsed comments
(Figure 38) Commentaires réduits(Figure 38) Collapsed comments

Quand les commentaires sont réduits, ils peuvent être développés facilement via un clic sur l’icône dans la marge, puis à nouveau réduits via un autre clic.When comments are collapsed, they can be expanded easily by clicking the icon in the margin, and then collapsed again with another click. Les info-bulles (Figure 39) facilitent la lecture d’un commentaire spécifique sans avoir à afficher le thread tout entier.Tooltips (Figure 39) make it easy to peek at a comment without seeing the entire thread.

Collapsed comment tooltip
(Figure 39) Info-bulle de commentaire réduit(Figure 39) Collapsed comment tooltip

Listes de tâches dans les descriptions et les commentaires des demandes de tirage (pull requests)Task lists in pull request descriptions and comments

Lors de la préparation d’une demande de tirage ou quand vous ajoutez des commentaires, vous voulez a priori faire le suivi d’un petit nombre de choses, mais en réalité, vous finissez par modifier le texte ou par ajouter plusieurs commentaires.When preparing a PR or commenting you sometimes have a short list of things that you want to track but then end up editing the text or adding multiple comments. Les listes de tâches légères sont un excellent moyen de suivre la progression d’une liste de choses à faire en tant que créateur ou réviseur d’une demande de tirage dans la description, ou sous la forme d’un commentaire unique regroupé.Lightweight task lists are a great way to track progress on a list of to-dos as either a PR creator or reviewer in the description or a single, consolidated comment. Cliquez sur la barre d’outils Markdown pour commencer ou pour appliquer le format au texte sélectionné (Figure 40).Click on the Markdown toolbar to get started or apply the format to selected text (Figure 40).

Task list toolbar
(Figure 40) Barre d’outils de liste de tâches(Figure 40) Task list toolbar

Une fois que vous avez ajouté une liste de tâches (Figure 41), vous pouvez simplement cocher les cases pour marquer les éléments comme étant terminés.Once you’ve added a task list (Figure 41), you can simply check the boxes to mark items as completed. Ceux-ci sont exprimés et stockés dans le commentaire sous la forme [ ] et [x] dans Markdown.These are expressed and stored within the comment as [ ] and [x] in Markdown. Pour plus d’informations, consultez Aide sur Markdown.See Markdown guidance for more information.

Task list
(Figure 41) Liste de tâches(Figure 41) Task list

Possibilité de faire des « Like » (J’aime) sur des commentaires dans les demandes de tirage (pull requests)Ability to “Like” comments in pull requests

Exprimez votre adhésion à un commentaire de demande de tirage en cliquant sur le bouton J’aime (Figure 42).Show your support for a PR comment with a single click on the like button (Figure 42). Vous pouvez consulter la liste de toutes les personnes qui ont aimé le commentaire en pointant sur le bouton.You can see the list of all people that liked the comment by hovering over the button.

Like pull request comments
(Figure 42) Faire des « Like » (J’aime) sur des commentaires de demande de tirage(Figure 42) Like pull request comments

Workflow amélioré lors de l’approbation avec des suggestionsImproved workflow when approving with suggestions

L’utilisation de l’option Achèvement automatique avec les demandes de tirage (Figure 43) est un excellent moyen d’améliorer votre productivité, mais il ne doit pas mettre fin aux discussions actives avec les réviseurs de code.Using the auto-complete option (Figure 43) with pull requests is a great way to improve your productivity, but it shouldn’t cut short any active discussions with code reviewers. Pour faciliter ces discussions, le vote Approuver avec des suggestions va maintenant apparaître quand une demande de tirage est achevée automatiquement.To better facilitate those discussions, the Approve with suggestions vote will now prompt when a pull request is set to complete automatically. L’utilisateur a la possibilité d’annuler l’achèvement automatique pour que ses commentaires puissent être lus, ou de conserver et d’autoriser l’achèvement automatique de la demande de tirage quand toutes les stratégies sont satisfaites.The user will have the option to cancel the auto-complete so that their feedback can be read, or keep the auto-complete set and allow the pull request to be completed automatically when all policies are fulfilled.

Cancel auto-complete dialog
(Figure 43) Boîte de dialogue Annuler la complétion automatique(Figure 43) Cancel auto-complete dialog

Prise en charge du filtrage des chemins pour les notifications GitPath filtering support for Git notifications

Au lieu de recevoir des notifications pour tous les dossiers d’un dépôt, vous pouvez désormais choisir de recevoir une notification quand des membres de l’équipe créent des demandes de tirage ou envoient (push) du code seulement dans les dossiers qui vous intéressent.Instead of getting notifications for all folders in a repo, you can now choose to get notified when team members create pull requests or push code in only the folders that you care about. Lors de la création d’abonnements aux notifications par e-mail d’envois Git ou de demandes de tirage Git personnalisés, vous voyez une nouvelle option pour filtrer ces notifications par chemins de dossiers (Figure 44).When creating custom Git push or Git pull requests email notification subscriptions, you will see a new option to filter these notifications by folder path (Figure 44).

Path filtering for notifications
(Figure 44) Filtrage des chemins pour les notifications(Figure 44) Path filtering for notifications

Mise à jour des modèles d’e-mail pour les workflows des demandes de tirage (pull requests)Updated email templates for pull request workflows

Les alertes par e-mail des demandes de tirage ont été actualisées et rendues claires, concises et exploitables (Figure 45).Pull request email alerts have been refreshed to make them clear, concise, and actionable (Figure 45). La ligne Objet commence par le titre de la demande de tirage ; les informations secondaires, comme le nom et l’ID du dépôt, sont reportées à la fin.The subject line will begin with the PR title and secondary information, like the repo name, and ID will be deferred to the end. Le nom de l’auteur a été ajouté à l’objet pour simplifier l’application de règles et de filtres en fonction de la personne qui a créé la demande Pull.The name of the author has been added to the subject to make it simpler to apply rules and filters based on the person that created the PR.

Le corps des e-mails d’alerte a un modèle actualisé qui récapitule d’abord la raison pour laquelle l’alerte a été envoyée, suivie des métadonnées critiques (titre, noms des branches et description) et un bouton d’appel à l’action principal.The body of the alert emails has a refreshed template that first summarizes why the alert was sent, followed by the critical metadata (title, branch names, and description), and a main call-to-action button. Des détails supplémentaires, comme les réviseurs, les fichiers, et les validations, apparaissent plus bas dans l’e-mail.Additional details like the reviewers, files, and commits are included further down the email.

Improved email template
(Figure 45) Modèle d’e-mail amélioré(Figure 45) Improved email template

Pour la plupart des alertes, l’appel à l’action (Figure 46) est d’afficher la demande de tirage sur le web.For most alerts, the call-to-action (Figure 46) will be to view the pull request in the web. Toutefois, quand vous recevez une notification à propos d’un commentaire spécifique, l’appel à l’action sera directement lié à ce commentaire, pour vous permettre de trouver facilement le code et la conversation préalable pour le contexte.However, when you’re notified about a specific comment, the call-to-action will link directly to that comment so you can easily find the code and prior conversation for context.

Email call-to-action
(Figure 46) Appel à l’action par e-mail(Figure 46) Email call-to-action

Mise à jour des modèles d’e-mail pour les notifications PushUpdated email templates for push notifications

Les notifications Push ont été mises à jour à l’image des nouveaux modèles d’e-mail, qui sont optimisés pour être clairs, concis et exploitables (Figure 47).Push notifications have been updated to match the new email templates that are optimized to be clear, concise, and actionable (Figure 47). La ligne d’objet vous permet de distinguer clairement les e-mails Push et d’identifier la branche, le dépôt et l’auteur. Par ailleurs, elle récapitule le nombre de validations incluses dans l’envoi (push).The subject line helps you clearly distinguish push emails, identify the branch, repo, and author, and summarize the number of commits included in the push. Ces évolutions permettent aussi de créer plus facilement des règles et des filtres pour mieux gérer ces notifications par e-mail.These changes also make it easier to create rules and filters to help manage these email notifications.

Le corps de l’e-mail est semblable aux autres e-mails, indiquant le motif de l’envoi, la personne à l’origine de l’action et ce qui s’est passé exactement.The email body is consistent with other emails, emphasizing why the email was sent, who initiated the action, and exactly what happened. Spécificité des alertes Push, tous les détails concernant le dépôt, la branche, les fichiers et les validations sont fournis pour renseigner les destinataires à sujet de l’étendue des modifications.Specific to push alerts, the details about the repo, branch, files, and commits are all included to help inform the recipients about the scope of the changes. Le principal appel à l’action pour les alertes d’envoi (push) est Afficher l’envoi (push), qui ouvre la vue des envois pour l’envoi qui a généré l’alerte.The main call-to-action for push alerts is View Push, which will open the pushes view for the specific push that generated the alert.

Push template
(Figure 47) Modèle d’envoi (push)(Figure 47) Push template

Wiki Wiki

Chaque projet prend désormais en charge son propre Wiki (Figure 48).Each project now supports its own Wiki (Figure 48). Vous pouvez maintenant facilement écrire des pages qui aident les membres de votre équipe à comprendre, utiliser et contribuer à votre projet.Now you can conveniently write pages that help your team members understand, use, and contribute to your project.

Wiki page
(Figure 48) Page Wiki d’une demande de tirage(Figure 48) PR Wiki page

Voici quelques-unes des principales fonctionnalités du nouveau Wiki :Some of the key features of the new Wiki include:

  • Expérience d’édition simplifiée en utilisant la syntaxe Markdown.Simplified editing experience using markdown syntax.
  • La nouvelle page vous permet de spécifier un titre et d’ajouter du contenu.The new page allows you to specify a title and add content. (Figure 49)(Figure 49)
Title Wiki
(Figure 49) Wiki Titre de la demande de tirage(Figure 49) PR Title Wiki
  • Prise en charge des balises HTML dans Markdown (Figure 50).Support for HTML tags in markdown (Figure 50).
Wiki HTML tags
(Figure 50) Balises HTML du Wiki de demande de tirage(Figure 50) PR Wiki HTML tags
  • Redimensionnez de façon pratique les images dans le dossier Markdown (Figure 51).Conveniently resize images in the markdown folder (Figure 51).
Image resize
(Figure 51) Redimensionnement d’image de demande de tirage(Figure 51) PR Image resize
  • Volet de gestion avancée des pages qui vous permet de réorganiser, de changer la page parent et de gérer des pages.Powerful page management pane that allows you to reorder, re-parent, and manage pages.
  • Possibilité de filtrer les pages par titre pour les grands Wikis (Figure 52).Ability to filter pages by title for large Wikis (Figure 52).
Wiki menu
(Figure 52) Menu du Wiki d’une demande de tirage(Figure 52) PR Wiki menu

Pour plus d’informations, consultez Bien démarrer avec Wiki.Learn more about getting started with Wiki.

  • Plus vous utilisez Wiki, plus vous risquez d’enregistrer des modifications non souhaitées.As you use Wiki more, there is a chance you’ll save unintended changes. Vous pouvez désormais rétablir une révision d’une page Wiki en affichant les détails de la révision et en cliquant sur le bouton Rétablir (Figure 53).Now you can revert a revision to a Wiki page by going to the revision details and clicking on the Revert button (Figure 53).
Wiki revert button
(Figure 53) Bouton Rétablir du Wiki de demande de tirage(Figure 53) PR Wiki revert button

Nous avons observé un modèle lors de la création d’un Wiki, où une table des matières sur une page Wiki incluait des liens inexistants (Figure 54).We observed a pattern during Wiki creation where a table of contents on a Wiki page included non-existent links (Figure 54). Les utilisateurs cliquaient sur ces liens pour créer une vraie page.Users would click on these links in an attempt to create an actual page. Avant, nous gérions ce scénario en affichant un avertissement indiquant que le lien était rompu ou que la page n’existait pas.We previously handled this scenario by giving a warning suggesting that the link was broken, or that the page did not exist. Maintenant, nous le gérons plutôt comme un scénario normal pour Wiki, en vous permettant de créer des pages.Now, we are handling this as a mainstream scenario for Wiki, by allowing you to create pages instead.

Create wiki page
(Figure 54) Créer une page Wiki PR(Figure 54) PR Create Wiki page

Lien profond de page WikiWiki page deep linking

Le Wiki prend désormais en charge les sections de lien profond au sein d’une page ou plusieurs pages, ce qui s’avère très utile pour créer une table des matières.Wiki now supports deep linking sections within a page and across pages, which is really useful for creating a table of contents. Vous pouvez référencer un titre dans la même page ou dans une autre page en utilisant la syntaxe suivante :You can reference a heading in the same page or another page by using the following syntax:

  • Même page :[text to display](#section-name)Same page: [text to display](#section-name)
  • Autre page :[text to display](/page-name#section-name)Another page: [text to display](/page-name#section-name)

L’extension Wiki sur la Place de marché est désormais dépréciée.The Wiki extension on the Marketplace is now deprecated. Si vous utilisez une extension Wiki existante, vous pouvez migrer vos pages Wiki vers le nouveau Wiki à l’aide de cet outil de migration.If you are an existing Wiki extension user, then you can migrate your Wiki pages to the new Wiki using this migration tool. Découvrez comment migrer vos pages Wiki existantes vers le nouveau Wiki.Learn more about how to migrate your existing Wiki pages to the new Wiki.

Gestion des packages Package Management

Mise à jour de l’expérience de gestion des packagesPackage Management experience updates

Les URL des packages fonctionnent désormais avec le nom et la version du package, à la place des GUID.Package URLs now work with the package name and version, rather than using GUIDs. Cela facilite la création manuelle des URL de package (Figure 55).This makes it easier to hand-craft package URLs (Figure 55). Le format est : \<tfsserverurl\>/\<project|team\>/_packaging?feed=\<feed\>&package=\<package\>&version=\<version\>&protocolType=\<NuGet|Npm|Maven\>&_a=package.The format is: \<tfsserverurl\>/\<project|team\>/_packaging?feed=\<feed\>&package=\<package\>&version=\<version\>&protocolType=\<NuGet|Npm|Maven\>&_a=package.

Package URL
(Figure 55) URL de package de demande de tirage(Figure 55) PR Package URL

Vous pouvez désormais masquer les versions de packages supprimées (Figure 56) pour tous les utilisateurs d’un flux (plus de packages barrés !), en réponse à cette suggestion UserVoice.You can now hide deleted package versions (Figure 56) from all feed users (no more strikethrough packages!), in response to this UserVoice suggestion.

Hide deleted packages
(Figure 56) Masquer les packages supprimés(Figure 56) Hide deleted packages

Toutes les actions que vous pouviez effectuer sur la page des détails d’un package peuvent désormais être effectuées à partir du menu contextuel dans la liste des packages.Any action that you could perform on the package details page can now be performed from the context menu in the list of packages.

La liste des packages contient une nouvelle colonne Dernier envoi (push) ((Figure 57) avec des dates lisibles, ce qui vous permet de trouver facilement les packages récemment mis à jour.The package list contains a new Last pushed column (Figure 57) with humanized dates so you can easily find recently-updated packages.

Last pushed column
(Figure 57) Colonne Dernier envoi (push)(Figure 57) Last pushed column

Packages Maven Maven packages

Nous avons lancé la prise en charge de l’hébergement des artefacts Maven dans TFS 2018 (Figure 58).We’ve launched support for hosting Maven artifacts in TFS 2018 (Figure 58). Les artefacts Maven permettent aux développeurs Java de partager facilement du code et des composants.Maven artifacts enable Java developers to easily share code and components. Consultez notre guide de démarrage pour savoir comment partager des artefacts Maven en utilisant la gestion des packages.Check out our getting started guide for how to share Maven artifacts using Package Management.

Maven packages
(Figure 58) Packages Maven(Figure 58) Maven packages

Nouvelle tâche NuGet unifiéeNew unified NuGet task

Nous avons regroupé les tâches Restauration NuGet, NuGet Packager et NuGet Publisher en une tâche de génération NuGet unifiée, de façon à mieux s’aligner avec le reste de la bibliothèque des tâches de génération. La nouvelle tâche utilise NuGet 4.0.0 par défaut.We’ve combined the NuGet Restore, NuGet Packager, and NuGet Publisher task into a unified NuGet build task to align better with the rest of the build task library; the new task uses NuGet 4.0.0 by default. En conséquence, nous avons déprécié les anciennes tâches et nous vous recommandons de passer à la nouvelle tâche NuGet quand vous en avez le temps.Accordingly, we’ve deprecated the old tasks, and we recommend moving to the new NuGet task as you have time. Cette modification coïncide avec une vague d’améliorations décrites ci-dessous, auxquelles vous pouvez accéder seulement en utilisant la tâche combinée.This change coincides with a wave of improvements outlined below that you’ll only be able to access by using the combined task.

Dans le cadre de ce travail, nous avons également publié une nouvelle tâche Programme d’installation de l’outil NuGet, qui contrôle la version de NuGet disponible sur le CHEMIN et utilisée par la nouvelle tâche NuGet.As part of this work, we’ve also released a new NuGet Tool Installer task that controls the version of NuGet available on the PATH and used by the new NuGet task. Par conséquent, pour utiliser une version plus récente de NuGet, ajoutez simplement une tâche Programme d’installation de l’outil NuGet au début de votre génération (Figure 59).So, to use a newer version of NuGet, just add a NuGet Tool Installer task at the beginning of your build (Figure 59).

task">task">

(Figure 59) Tâche NuGet(Figure 59) NuGet task

Lisez-en davantage sur l’utilisation de la dernière version de NuGet dans votre build sur le Blog Microsoft DevOps.Read more about using the latest NuGet in your build on Microsoft DevOps Blog.

Option « Permettre d’ignorer les doublons » de NuGetNuGet “Allow duplicates to be skipped” option

De nombreux clients NuGet nous ont indiqué qu’ils génèrent un ensemble de packages, dont seuls quelques-uns peuvent avoir des mises à jour (et donc des numéros de version mis à jour).We heard from many NuGet customers that they generate a set of packages, only some of which may have updates (and therefore updated version numbers). La tâche de génération NuGet a une nouvelle option, Permettre d’ignorer les doublons, qui permet à la tâche de continuer si elle tente d’envoyer (push) des packages à un flux VSTS/TFS où la version est déjà en utilisée.The NuGet build task has a new Allow duplicates to be skipped option that will enable the task to continue if it tries to push packages to a VSTS/TFS feed where the version is already in use.

mises à jour des tâches de génération npmnpm build task updates

Quelle que soit la plateforme sur laquelle vous générez votre projet npm (Windows, Linux ou Mac), la nouvelle tâche de génération NPM fonctionne sans problème.Whether you’re building your npm project on Windows, Linux, or Mac, the new NPM build task will work seamlessly. Nous avons également réorganisé la tâche pour rendre npm install et npm publish plus faciles.We have also reorganized the task to make both npm install and npm publish easier. Pour les commandes install et publish, nous avons simplifié l’acquisition des informations d’identification pour que les informations d’identification des Registres répertoriés dans le fichier .npmrc du projet puissent être stockées de façon sécurisée dans un point de terminaison de service.For install and publish, we have simplified credential acquisition so that credentials for registries listed in your project’s .npmrc file can be safely stored in a service endpoint. Sinon, si vous utilisez un flux VSTS/TFS, nous proposons un sélecteur qui vous permet de choisir un flux. Ensuite nous générons un fichier .npmrc avec les informations d’identification nécessaires utilisées par l’agent de build.Alternatively, if you’re using a VSTS/TFS feed, we have a picker that will let you select a feed, and then we will generate a .npmrc with requisite credentials that are used by the build agent.

Maven prend désormais en charge les flux authentifiésMaven now supports authenticated feeds

Contrairement à NuGet et npm, la tâche de génération Maven ne fonctionnait pas avec les flux authentifiés.Unlike NuGet and npm, the Maven build task did not previously work with authenticated feeds. Nous avons mis à jour la tâche Maven pour vous permettre d’utiliser facilement les flux VSTS/TFS (Figure 60).We’ve updated the Maven task so you can work easily with VSTS/TFS feeds (Figure 60).

dotnet task
(Figure 60) Tâche dotnet(Figure 60) dotnet task

La tâche dotnet prend en charge les flux authentifiés et les projets webdotnet task supports authenticated feeds, web projects

La prochaine version majeure de la tâche dotnet (2.x) apporte une réponse à un grand nombre des demandes de vos commentaires et résout un ensemble de bogues que nous avons suivis pendant un certain temps.The next major version of the dotnet task (2.x) addresses many of your feedback requests and fixes a set of bugs we’ve tracked for a while.

  1. Tout d’abord, dotnet prend désormais en charge les sources de packages authentifiées, comme le Gestionnaire de package : vous n’avez donc plus besoin d’utiliser la tâche NuGet pour restaurer les packages à partir de sources de packages privées.First, dotnet now supports authenticated package sources like Package Management, so you don’t need to use the NuGet task anymore to restore packages from private package sources.
  2. Le comportement du champ Chemin des projets a changé dans la version 2.0 de la tâche.The behavior of Path to project(s) field has changed in the 2.0 version of the task. Dans les versions précédentes de la tâche, si le ou les fichiers projet correspondant au modèle spécifié étaient introuvables, la tâche consignait un avertissement dans le journal puis se terminait correctement.In previous versions of the task, if the project file(s) matching the specified pattern were not found, the task used to log a warning and then succeed. Dans de tels scénarios, il pouvait parfois être difficile de comprendre pourquoi la génération avait réussi alors que les dépendances n’étaient pas restaurées.In such scenarios it can sometimes be challenging to understand why the build succeeded but dependencies were not restored. Désormais, la tâche échoue si le ou les fichiers projet correspondant au modèle spécifié sont introuvables.Now the task will fail if the project file(s) matching the specified pattern are not found. Ceci est aligné sur le comportement d’autres tâches, et est facile à comprendre et à utiliser.This is in line with the behavior of other tasks and is easy to understand and use.
  3. Dans les versions précédentes de la commande publish de la tâche, la tâche modifiait le chemin de sortie en plaçant tous les fichiers dans un dossier qui était nommé d’après le nom du fichier projet, même quand vous passiez un chemin de sortie explicite.In previous versions of the task’s publish command, the task modified the output path by putting all the files in a folder that was named after the project file name, even when you passed an explicit output path. Ceci rendait difficile le chaînage des commandes.This makes it hard to chain commands together. Vous contrôlez désormais le fichier du chemin de sortie.Now you have control over the output path file.

Nous avons également publié une nouvelle tâche Programme d’installation de l’outil dotnet, qui contrôle la version de dotnet disponible sur le CHEMIN et utilisée par la nouvelle tâche dotnet.We’ve also released a new dotnet Tool Installer task that controls the version of dotnet available on the PATH and used by the new dotnet task. Ainsi, pour utiliser une version plus récente de dotnet, ajoutez simplement une tâche Programme d’installation de l’outil dotnet au début de votre génération.So, to use a newer version of dotnet, just add a dotnet Tool Installer task at the beginning of your build.

Travailler en dehors de votre compte/collectionWorking outside your account/collection

Il est désormais plus facile de travailler avec des flux (Figure 61) en dehors de votre serveur TFS ou de votre compte VSTS, que ce soit des flux Gestion de packages dans un autre compte VSTS ou un autre serveur TFS, ou des flux autres que Gestion de packages, comme NuGet.org/npmjs.com, Artifactory ou MyGet (Figure 60).It’s now easier to work with feeds (Figure 61) outside your TFS server or VSTS account, whether they’re Package Management feeds in another VSTS account or TFS server or non-Package Management feeds like NuGet.org/npmjs.com, Artifactory, or MyGet (Figure 60). Des types de points de terminaison de service dédiés à NuGet et npm facilitent l’entrée des informations d’identification correctes, et permettent aux tâches de génération de fonctionner sans problème lors des opérations de chargement de package et d’envoi (push) de package.Dedicated Service Endpoint types for NuGet and npm make it easy to enter the correct credentials and enable the build tasks to work seamlessly across package download and package push operations.

Feeds to use
(Figure 61) Flux à utiliser(Figure 61) Feed to use

Sélecteur de flux pour les flux VSTS/TFSFeed picker for VSTS/TFS feeds

Nous recommandons toujours d’archiver un fichier de configuration (par exemple NuGet.Config, .npmrc, etc.), afin que votre dépôt de fichiers sources ait toujours un enregistrement de la provenance de vos packages.We always recommend checking in a configuration file (e.g. NuGet.Config, .npmrc, etc.) so that your source repository has a record of where your packages came from. Toutefois, vous nous avez indiqué que ce n’était pas idéal dans un certain nombre de scénarios : nous avons donc ajouté une nouvelle option Utiliser les packages de ce flux VSTS/TFS qui vous permet de sélectionner un flux et de générer automatiquement un fichier de configuration qui est utilisé pour cette étape de génération (Figure 62).However, we’ve heard a set of scenarios where this isn’t ideal, so we’ve added a new Use packages from this VSTS/TFS feed option that allows you to select a feed and automatically generate a configuration file that will be used for that build step (Figure 62).

Feed picker
(Figure 62) Sélecteur de flux(Figure 62) Feed picker

Générer et publier Build and Release

Suppression de la prise en charge des builds XAML Removing support for XAML Builds

Dans TFS 2015, nous avons introduit un système de génération multiplateforme basé sur le web.In TFS 2015, we introduced a web-based, cross-platform build system. Dans TFS 2018, il s’agit du seul modèle que nous prenons en charge.In TFS 2018, that is the only model we support. Les builds XAML ne sont pas prises en charge dans TFS 2018.XAML builds are not supported in TFS 2018. Nous vous encourageons à migrer vos builds XAML.We encourage you to migrate your XAML builds. Si vous n’êtes pas encore prêt à migrer et que vous devez continuer à utiliser des builds XAML, n’effectuez pas la mise à niveau vers TFS 2018.If you're not yet ready to migrate and need to continue using XAML builds, then you should not upgrade to TFS 2018.

Quand vous effectuez la mise à niveau vers TFS 2018 :When you upgrade to TFS 2018:

  • Si vous avez des données de build XAML dans votre collection de projets d’équipe, vous recevez un avertissement quant à la suppression des fonctionnalités de build XAML.If you have any XAML build data in your team project collection, you'll get a warning about the removal of XAML build features.

  • Dans TFS 2018, vous pourrez voir les builds XAML terminées, mais vous ne pourrez pas en placer de nouvelles en file d’attente.In TFS 2018, you'll be able to view completed XAML builds, but you won't be able to queue new ones.

  • Il n’existe pas de nouvelle version du contrôleur ou de l’agent de build XAML dans TFS 2018, et vous ne pouvez pas en configurer une version antérieure pour la faire fonctionner avec TFS 2018.There's no new version of the XAML build controller or agent in TFS 2018, and you can't configure an older version of the XAML build controller or agent to work with TFS 2018.

Pour une description de notre plan de désapprobation de build XAML, consultez le billet de blog sur l’évolution des fonctionnalités d’automatisation de génération pour TFS/Team Services.For an explanation of our XAML build deprecation plan, see the Evolving TFS/Team Services build automation capabilities blog post.

Exporter et importer des définitions de build Export and import build definitions

Les définitions de build sont implémentées en interne en tant que fichiers .json : vous pouvez donc voir des informations détaillées sur les modifications dans l’historique du fichier.Build definitions are implemented internally as .json files, so you can see details on changes in the file’s history. Vous pouvez déjà cloner et créer des modèles à partir de vos définitions de build, mais de nombreux utilisateurs ont souhaité prendre une copie de leur logique de génération CI et la réutiliser dans un autre projet d’équipe.You can already clone and make templates from your build definitions, but many users have wanted to take a copy of their CI build logic and reuse it in another team project. Il s’agissait en fait d’une demande parmi les dix premières sur UserVoice.In fact it’s been a top-ten request on UserVoice.

Nous avons le plaisir de vous annoncer que vous pouvez désormais le faire (Figure 63) et (Figure 64) !We’re pleased to announce that this is now possible (Figure 63) and (Figure 64)!

Export build definition
(Figure 63) Exporter une définition de build(Figure 63) Export build definition
Import build definition
(Figure 64) Importer une définition de build(Figure 64) Import build definition

Extensions avec les modèles de buildExtensions with build templates

Les modèles de build vous permettent de créer une base de référence pour les utilisateurs qui peuvent ainsi commencer à définir leur processus de génération.Build templates let you create a baseline for users to get started with defining their build process. Nous en livrons un certain nombre avec le produit aujourd’hui et, si vous pouviez en télécharger de nouvelles dans votre compte, il n’était jamais possible pour les auteurs d’extensions d’inclure de nouveaux modèles dans le cadre d’une extension.We ship a number of them in the box today and while you could upload new ones to your account, it was never possible for extension authors to include new templates as part of an extension. Vous pouvez désormais inclure des modèles de build dans vos extensions.You can now include build templates in your extensions. Exemple :For example:

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

Pour voir l’exemple complet, consultez https://github.com/Microsoft/vsts-extension-samples/tree/master/fabrikam-build-extension.For the full example, see https://github.com/Microsoft/vsts-extension-samples/tree/master/fabrikam-build-extension.

Conseil

Vous pouvez utiliser cette fonctionnalité pour proposer et partager le même modèle personnalisé pour tous vos projets d’équipe.You can use this capability to offer and share the same custom template across all your team projects.

Déprécier une tâche dans une extensionDeprecate a task in an extension

Vous pouvez désormais déprécier une tâche dans votre extension.You can now deprecate a task in your extension. Pour que cela fonctionne, vous devez ajouter la variable suivante à la version la plus récente de votre tâche :To make it work, you must add the following variable to the latest version of your task:

"deprecated": true

Quand l’utilisateur recherche les tâches dépréciées (Figure 65), nous envoyons (push) ces tâches à la fin et nous les regroupons dans une section réduite par défaut.When the user searches for deprecated tasks (Figure 65), we push these tasks to the end and group them under a collapsible section that’s collapsed by default. Si une définition utilise déjà une tâche dépréciée, nous affichons un badge de tâche dépréciée pour encourager les utilisateurs à passer à la tâche de remplacement.If a definition is already using a deprecated task, we show a deprecated task badge to encourage users to switch to the replacement.

Deprecated task badge
(Figure 65) Badge de tâche dépréciée(Figure 65) Deprecated task badge

Vous pouvez aider vos utilisateurs à en savoir plus sur la tâche de remplacement en la mentionnant dans la description de la tâche (Figure 66).You can help your users learn about the replacement task by mentioning it in the task description (Figure 66). La description pointera alors vers les personnes utilisant la tâche dans le bon sens depuis le catalogue des tâches et les définitions de build/version existantes.The description will then point folks using the task in the right direction from both the task catalog and the existing build/release definitions.

Deprecated task description
(Figure 66) Description de la tâche dépréciée(Figure 66) Deprecated task description

Définir la visibilité de la section de contrôleLet contributed build sections control section visibility

Avant, si vous utilisiez une extension qui avait des tâches de builds et des sections de résumé de la build, vous pouviez voir la section de résumé de la build, même si vous n’utilisiez pas la tâche de build dans cette build.Previously, if you were using an extension that had build tasks and build summary sections, you’d see the build summary section even if you weren’t using the build task in that build. Vous pouvez désormais choisir de masquer ou d’afficher cette section dans la page de résumé de la build en ajoutant la ligne suivante dans le code de votre extension, et en définissant la valeur sur true ou sur false :Now, you can choose to hide or show that section in the build summary page by adding the following line in your extension code and setting the value to true or false:

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

Consultez l’exemple inclus dans le dépôt vsts-extension-samples de Microsoft.View the sample included in the Microsoft vsts-extension-samples repository.

Prise en charge des groupes de variablesVariable group support

Les groupes de variables étaient disponibles pour être utilisés dans les définitions de mise en production. Elles sont désormais prêtes à être utilisées aussi dans les définitions de build.Variable groups have been available to use in release definitions, and now they are ready to be used in build definitions, too. Découvrez plus d’informations sur la création d’un groupe de variables.Learn more about creating a variable group. Ceci a été développé selon une priorité basée sur des suggestions relatives aux variables de build/version de niveau projet et aux groupes de variables dans les définitions de build.This has been developed and prioritized based on related suggestions for project-level build/release variables and variable groups in build definitions.

Travailler avec des fichiers sécurisés, comme des certificats AppleWork with secure files such as Apple certificates

Nous avons ajouté une bibliothèque de fichiers sécurisés à usage général (Figure 67).We’ve added a general-purpose secure files library (Figure 67).

Secure files library
(Figure 67) Bibliothèque de fichiers sécurisés(Figure 67) Secure files library

Utilisez la bibliothèque de fichiers sécurisés pour stocker des fichiers comme les certificats de signature, les profils de provisionnement Apple, les fichiers de magasin de clés Android et les clés SSH sur le serveur, sans avoir à les valider dans votre dépôt source.Use the secure files library to store files such as signing certificates, Apple Provisioning Profiles, Android Keystore files, and SSH keys on the server without needing to commit them to your source repository.

Le contenu des fichiers sécurisés est chiffré, et peut être utilisé seulement lors des processus de génération ou de publication en les référençant depuis une tâche.The contents of secure files are encrypted and can only be used during build or release processes by referencing them from a task. Les fichiers sécurisés sont disponibles sur plusieurs définitions de build et de publication dans le projet d’équipe, en fonction des paramètres de sécurité.Secure files are available across multiple build and release definitions in the team project based on security settings. Les fichiers sécurisés suivent le modèle de sécurité de la bibliothèque.Secure files follow the Library security model.

Nous avons également ajouté certaines tâches Apple qui tirent parti de cette nouvelle fonctionnalité :We’ve also added some Apple tasks that leverage this new feature:

Mettre en pause les définitions de buildPause build definitions

Vous pouvez désormais mettre en pause ou désactiver les définitions de build.You can now pause or disable build definitions. Si vous envisagez de modifier votre définition de build et que vous voulez éviter de mettre en file d’attente les nouvelles builds en attendant que vous ayez fini, désactivez simplement la définition de build.If you plan to make changes to your build definition and you want to avoid queuing any new builds until you are done, simply disable the build definition. De même, si vous envisagez de mettre à niveau des ordinateurs agent, vous pouvez choisir de mettre en pause une définition de build, ce qui permet à VSTS de toujours accepter les nouvelles demandes de build tout en les laissant en file d’attente sans les exécuter jusqu’à ce que vous repreniez la définition.Similarly, if you plan to upgrade agent machines, you can choose to pause a build definition, which enables VSTS to still accept new build requests but hold them in queue without running until you resume the definition.

Prise en charge de la validation des entrées de tâchesTask input validations support

La saisie des paramètres dans les tâches de définition de build peut parfois entraîner des erreurs.Typing the parameters in build definition tasks can sometimes be error prone. Avec la validation des entrées de tâches, les auteurs des tâches ont l’assurance que les valeurs spécifiées sont correctes.With task input validation, task authors can ensure appropriate values are specified. Les expressions de validation suivent la syntaxe d’expression habituellement utilisée pour les conditions des tâches et peuvent utiliser toutes les fonctions prises en charge, en plus des fonctions générales prises en charge par les conditions des tâches, notamment celles relatives aux URL, à IPV4, à sha1, à l’e-mail, à la plage de numéros, à la longueur ou à la correspondance.Validation expressions follow the familiar expression syntax used for task conditions and can use any of the supported functions besides the general functions supported by task conditions, including URL, IPV4, email, number range, sha1, length, or match.

Pour plus d’informations sur les objectifs et l’utilisation, consultez la page vsts-tasks du dépôt.Read more about the goals and usage on the vsts-tasks repo page.

Nouvelle éditeur de définition de version New Release Definition Editor

Dans la même optique d’actualisation des expériences de Build et mise en production, nous avons repensé l’éditeur de définition de version de façon à offrir une expérience plus intuitive, corriger certains points problématiques et ajouter de nouvelles fonctionnalités.Continuing on our journey of refreshing the Build and Release experiences, we have re-imagined the release definition editor to provide a more intuitive experience, fix some pain points, and add new capabilities. Une des fonctionnalités les plus puissantes du nouvel éditeur est sa capacité à vous donner un aperçu de la progression des déploiements dans vos environnements.One of the most powerful features of the new editor is its ability to help you visualize how deployments to your environments would progress. Par ailleurs, les approbations, les propriétés d’environnement et les paramètres de déploiement sont désormais contextuels et facile à configurer.In addition to this, approvals, environment properties, and deployment settings are now in-context and easily configurable.

Visualisation du pipelineVisualization of the pipeline

Le pipeline (Figure 68) de l’éditeur fournit une vue graphique de la façon dont les déploiements progressent pour une version.The pipeline (Figure 68) in the editor provides a graphical view of how deployments will progress in a release. Les artefacts seront consommés par la version et déployés sur les environnements.The artifacts will be consumed by the release and deployed to the environments. La disposition et la liaison des environnements reflètent les paramètres des déclencheurs définis pour chaque environnement.The layout and linking of the environments reflects the trigger settings defined for each environment.

Pipeline
(Figure 68) Pipeline de mise en production(Figure 68) Release pipeline
Interface utilisateur de la configuration contextuelleIn context configuration UI

Les artefacts, les déclencheurs de mise en production, les approbations de prédéploiement et de postdéploiement, les propriétés d’environnement et les paramètres de déploiement sont désormais contextuels et faciles à configurer (Figure 69).Artifacts, release triggers, pre-deployment and post-deployment approvals, environment properties, and deployment settings are now in-context and easily configurable (Figure 69).

Release configuration
(Figure 69) Configuration de la mise en production(Figure 69) Release configuration
Bien démarrer avec les modèles de déploiementGetting started with deployment templates

Tous les modèles de déploiement intégrés sont dotés de paramètres de processus qui aident les utilisateurs à démarrer plus facilement en spécifiant les paramètres les plus importants sans avoir à s’attarder sur les tâches (Figure 70).All in-built deployment templates are equipped with process parameters which makes it easier for users to get started by specifying the most important parameters without needing to go deep into your tasks (Figure 70).

Deployment templates
(Figure 70) Modèles de déploiement(Figure 70) Deployment templates
Gestion simplifiée des variables de mise en production et d’environnementSimplified management of release and environment variables

Utilisez la vue Liste pour ajouter rapidement des variables de mise en production ou d’environnement et la vue Grille pour comparer et modifier côte à côte des variables sur toutes les étendues (Figure 71).Use the List view to quickly add release or environment variables and the Grid view to compare and edit variables across scopes side-by-side (Figure 71). Par ailleurs, vous pouvez utiliser la recherche par mot clé ou par filtre pour gérer l’ensemble de variables à utiliser dans les deux vues.Additionally, you can use the filter and keyword search to manage the set of variables to work with in both the views.

Simplified management of variables
(Figure 71) Gestion simplifiée des variables(Figure 71) Simplified management of variables
Éditeur de tâche et de phase amélioréImproved task and phase editor

Toutes les améliorations du nouvel éditeur de définition de build sont maintenant aussi disponibles dans l’éditeur de définition de mise en production (Figure 72).All the enhancements in the new build definition editor are now available in the release definition editor, as well (Figure 72). Vous pouvez rechercher des tâches et les ajouter en utilisant le bouton Ajouter ou via un glisser-déplacer.You can search for tasks and add them by either using the Add button or by using drag/drop. Vous pouvez réorganiser ou cloner des tâches via un glisser-déplacer.You can reorder or clone tasks using drag/drop.

Task editor
(Figure 72) Éditeur de tâche(Figure 72) Task editor
Onglets Groupes de variables, Rétention et OptionsVariable groups, Retention, and Options tabs

Vous pouvez désormais lier/dissocier des groupes de variables (Figure 73), définir la stratégie de conservation des différents environnements et modifier les paramètres de version au niveau de la définition, comme le format du numéro de version, à partir de l’onglet Options. Vous pouvez aussi enregistrer un environnement comme modèle de déploiement, définir des autorisations au niveau de l’environnement et réorganiser des phases dans l’onglet Tâches.You can now link/unlink to variable groups (Figure 73), set retention policy for individual environments, and modify release definition-level settings such as release number format from the Options tab. You can also save an environment as a deployment template, set environment level permissions, and re-order phases within the Tasks tab.

Variable groups
(Figure 73) Groupes de variables(Figure 73) Variable groups

Utilisez les opérations au niveau de l’environnement pour l’enregistrer comme modèle et définir la sécurité (Figure 74).Use environment level operations to save as template and set security (Figure 74).

Environment menu
(Figure 74) Menu de l’environnement(Figure 74) Environment menu

Pour plus d'informations, consultez la documentation de l’éditeur de définition de version.See the documentation for Release Definition Editor for more information.

Déploiement de machines virtuelles à l’aide de groupes de déploiement VM Deployment using Deployment Groups

Release Management prend désormais en charge des déploiements prédéfinis robustes sur plusieurs machines.Release Management now supports robust out-of-the-box multi-machine deployment. Vous pouvez désormais orchestrer des déploiements sur plusieurs machines et effectuer des mises à jour propagées, tout en assurant la haute disponibilité de l’application tout au long du processus.You can now orchestrate deployments across multiple machines and perform rolling updates while ensuring high availability of the application throughout.

La fonctionnalité de déploiement basée sur un agent s’appuie sur les mêmes agents de build et de déploiement.Agent-based deployment capability relies on the same build and deployment agents. Toutefois, contrairement à l’approche actuelle où vous installez les agents de build et de déploiement sur un ensemble de serveurs proxy dans un pool d’agents et où vous pilotez les déploiements sur des serveurs cibles distants, vous installez l’agent directement sur chacun de vos serveurs cibles et vous pilotez les déploiements propagés sur ces serveurs.However, unlike the current approach where you install the build and deployment agents on a set of proxy servers in an agent pool and drive deployments to remote target servers, you install the agent on each of your target servers directly and drive rolling deployments to those servers. Vous pouvez utiliser le catalogue complet des tâches sur vos machines cibles.You can use the full task catalog on your target machines.

Un groupe de déploiement (Figure 75) est un groupe logique de (machines) cibles avec des agents installés sur chacune d’elles.A deployment group (Figure 75) is a logical group of targets (machines) with agents installed on each of them. Les groupes de déploiement représentent vos environnements physiques, comme un développement à option unique, une AQ sur plusieurs machines et une batterie de machines pour UAT/Production. Ils spécifient également le contexte de sécurité pour vos environnements physiques.Deployment groups represent your physical environments, such as single-box Dev, multi-machine QA, and a farm of machines for UAT/Prod. They also specify the security context for your physical environments.

Deployment groups
(Figure 75) Groupes de déploiement(Figure 75) Deployment groups

Vous pouvez utiliser ceci sur toutes les machines virtuelles que vous inscrivez auprès de notre agent.You can use this against any VM that you register our agent with. Nous avons également rendu très facile l’inscription auprès d’Azure via la prise en charge d’une extension de machine virtuelle Azure qui installe automatiquement l’agent quand la machine virtuelle démarre.We’ve also made it very easy to register with Azure with support for an Azure VM extension that auto-installs the agent when the VM spins up. Nous héritons automatiquement des étiquettes sur la machine virtuelle Azure quand elle est inscrite.We will automatically inherit the tags on the Azure VM when it’s registered.

Une fois que vous avez un groupe de déploiement, vous configurez simplement ce que vous voulez que nous exécutions sur ce groupe de déploiement (Figure 76).Once you have a deployment group, you simply configure what you want us to execute on that deployment group (Figure 76). Vous pouvez contrôler ce qui est exécuté sur quelles machines en utilisant des étiquettes, et contrôler la vitesse à laquelle le lancement est effectué.You can control what gets run on which machines using tags and control how fast or slow the rollout happens.

Configure deployment groups
(Figure 76) Configurer des groupes de déploiement(Figure 76) Configure deployment groups

Quand le déploiement est exécuté, les journaux indiquent la progression sur tout le groupe de machines que vous ciblez (Figure 77).When the deployment is run, the logs show the progression across the entire group of machines you are targeting (Figure 77).

Deployment group progress
(Figure 77) Progression d’un groupe de déploiement(Figure 77) Deployment group progress

Cette fonctionnalité fait désormais partie intégrante de Release Management.This feature is now an integrated part of Release Management. Aucune licence supplémentaire n'est nécessaire.No additional licenses are required.

Amélioration de l’interface utilisateur des groupes de déploiementImproved Deployment Groups UI

Toujours dans l’optique d’actualiser les expériences de Build et mise en production, nous avons repensé nos pages de groupes de déploiement pour une expérience plus claire et plus intuitive (Figure 78).Continuing our journey of refreshing the Build and Release experiences, we have now re-imagined our deployment groups pages to make it a more clean and intuitive experience (Figure 78). À partir de la page d’accueil, vous pouvez consulter l’état d’intégrité des cibles du groupe de déploiement.From the landing page, you can view the health of the targets in the deployment group. Vous pouvez aussi gérer la sécurité d’un groupe de déploiement déterminé ou définir les autorisations par défaut de tous les groupes de déploiement.You can also manage security for an individual deployment group, or set default permissions across deployment groups.

Deployment groups UI
(Figure 78) Interface utilisateur des groupes de déploiement(Figure 78) Deployment groups UI

Pour une cible au sein d’un groupe de déploiement, vous pouvez afficher un récapitulatif, les déploiements récents et les capacités de la cible. (Figure 79).For a target within a deployment group, you can view a summary, recent deployments, and the target’s capabilities (Figure 79). Vous pouvez définir des étiquettes sur la cible et contrôler ce qui s’exécute sur chaque cible.You can set tags on the target, and control what is run on each target. Nous prévoyons pour les prochaines versions d’ajouter la prise en charge des filtres pour les groupes de déploiement.We will be adding filter support for deployment groups in upcoming releases.

Deployment groups UI tags
(Figure 79) Étiquettes de l’interface utilisateur des groupes de déploiement(Figure 79) Deployment groups UI tags

Références de groupe de tâchesTask group references

Les groupes de tâches vous permettent de définir un ensemble de tâches que vous pouvez ajouter à vos définitions de build ou de version (Figure 80).Task groups let you define a set of tasks that you can add to your build or release definitions (Figure 80). Ceci est pratique si vous devez utiliser le même regroupement de tâches dans plusieurs builds ou versions.This is handy if you need to use the same grouping of tasks in multiple builds or releases. Pour vous aider à assurer le suivi des consommateurs d’un groupe de tâches, vous disposez désormais d’une vue sur les définitions de build, les définitions de version et les groupes de tâches qui référencent votre groupe de tâches (Figure 79).To help you track the consumers of a task group, you now have a view into the build definitions, release definitions, and task groups that reference your task group (Figure 79).

Task group references
(Figure 80) Références de groupe de tâches(Figure 80) Task group references

Quand vous essayez de supprimer un groupe de tâches qui est toujours référencé, nous vous avertissons et nous vous fournissons un lien vers cette page.When you try to delete a task group that’s still referenced, we warn you and give you a link to this page.

Gestion des versions des groupes de tâchesTask group versioning

La modification d’un groupe de tâches peut être risquée, car la modification est effective sur toutes les définitions qui utilisent le groupe de tâches.When making changes to task groups, it can feel risky because the change is effective to all definitions that use the task group. Avec la gestion des versions des groupes de tâches, vous pouvez désormais faire des brouillons et obtenir un aperçu des versions d’un groupe de tâches, tout en offrant néanmoins des versions stables de vos définitions les plus importantes jusqu’au moment où vous êtes prêt à en changer.With task group versioning, now you can draft and preview task group versions while still offering stable versions to your most important definitions until you are ready to switch. Après avoir conçus les brouillons par itération, vous pouvez publier une version stable et, lors de la publication, si des modifications représentent une rupture importante, vous pouvez choisir de publier le groupe de tâches sous forme de préversion (une nouvelle version majeure).After some drafting and iteration, you can publish a stable version and, while publishing, if the changes are breaking in nature, you can choose to publish the task group as preview (a new major version). Vous pouvez aussi la publier directement en tant que version stable mise à jour (Figure 81).Alternatively, you can publish it directly as an updated stable version (Figure 81).

Quand une nouvelle version majeure (ou une préversion) du groupe de tâches est disponible, l’éditeur de définition vous indique qu’il existe une nouvelle version.When a new major (or preview) version of the task group is available, the definition editor will advise you that there is a new version. Si cette version majeure est une préversion, vous voyez même un message « Essayez-la ».If that major version is preview, you even see a “try it out” message. Quand le groupe de tâches n’est plus une préversion, les définitions qui l’utilisent sont mises à jour automatiquement, en suivant ce cycle de versions majeures (Figure 82).When the task group comes out of preview, definitions using it will be auto-updated, sliding along that major channel (Figure 82).

Save as draft
(Figure 81) Enregistrer le groupe de tâches comme brouillon(Figure 81) Save task group as draft
Publish task group as preview
(Figure 82) Publier un groupe de tâches comme aperçu(Figure 82) Publish task group as preview

Importation et exportation de groupes de tâchesTask group import and export

Bien que les groupes de tâches puissent être réutilisés au sein d’un projet, nous savons que la recréation d’un groupe de tâches dans des projets et des comptes peut être laborieuse.Although task groups have enabled reuse within a project, we know that recreating a task group across projects and accounts can be painful. Avec l’importation/exportation des groupes de tâches (Figure 83), comme nous l’avons fait pour les définitions de version, vous pouvez désormais les exporter sous forme de fichier JSON et les importer où vous voulez.With task group import/export (Figure 83), as we’ve done for release definitions, now you can export as a JSON file and import where you want it. Nous avons également activé les groupes de tâches imbriqués, qui se développent quand ils sont exportés.We’ve also enabled nested task groups, which first expand when they are exported.

Export task group
(Figure 83) Exporter un groupe de tâches(Figure 83) Export task group

Prise en charge des configurations multiples dans les tâches côté serveur (sans agent)Multi Configuration support in Server Side (Agentless) tasks

En spécifiant des multiplicateurs de variables pour les tâches côté serveur (sans agent) (Figure 84), vous pouvez désormais exécuter le même ensemble de tâches dans une phase sur plusieurs configurations, qui s’exécutent en parallèle.By specifying variable multipliers for server side (agentless) tasks (Figure 84), you can now run the same set of tasks in a phase on multiple configurations, which run in parallel.

Multi configuration of agentless tasks
(Figure 84) Multiconfiguration de tâches sans agent(Figure 84) Multi configuration of agentless tasks

Prise en charge des variables dans la tâche Intervention manuelleVariables Support in Manual Intervention task

La tâche Intervention manuelle (Figure 85) prend désormais en charge l’utilisation de variables dans le texte d’instruction affiché aux utilisateurs lors de l’exécution de la tâche, au moment où l’utilisateur peut reprendre l’exécution du processus de génération de version ou le rejeter.The Manual Intervention task (Figure 85) now supports the use of variables within the instruction text shown to users when the task runs, at the point where the user can resume execution of the release process or reject it. Toutes les variables définies et disponibles dans la version peuvent être incluses. Les valeurs sont utilisées dans les notifications ainsi que dans l’e-mail envoyé aux utilisateurs (Figure 86).Any variables defined and available in the release can be included, and the values will be used in the notifications as well as in the email sent to users (Figure 86).

Manual intervention task
(Figure 85) Tâche d’intervention manuelle(Figure 85) Manual intervention task
Manual intevention pending dialog
(Figure 86) Boîte de dialogue d’intervention manuelle en attente(Figure 86) Manual intervention pending dialog

Contrôle des versions dans un environnement basé sur la branche sourceControl releases to an environment based on the source branch

Une définition de version peut être configurée pour déclencher un déploiement automatiquement quand une nouvelle version est créée, généralement après la réussite d’une build de la source.A release definition can be configured to trigger a deployment automatically when a new release is created, typically after a build of the source succeeds. Cependant, vous pouvez déployer seulement des builds provenant de branches spécifiques de la source, au lieu de toutes les builds qui ont réussi.However, you may want to deploy only builds from specific branches of the source, rather than when any build succeeds.

Par exemple, vous voulez que toutes les builds soient déployées dans les environnements de développement et de test, mais que seules des builds spécifiques soient déployées en production.For example, you may want all builds to be deployed to Dev and Test environments, but only specific builds deployed to Production. Auparavant, vous deviez pour cela gérer deux pipelines de versions distincts, un pour les environnements de développement et de test, et l’autre pour l’environnement de production.Previously you were required to maintain two release pipelines for this purpose, one for the Dev and Test environments and another for the Production environment.

Release Management prend désormais en charge l’utilisation de filtres d’artefacts pour chaque environnement.Release Management now supports the use of artifact filters for each environment. Cela signifie que vous pouvez spécifier les versions qui seront déployées sur chaque environnement quand les conditions du déclencheur de déploiement (comme la réussite d’une build et la création d’une nouvelle version) sont remplies.This means you can specify the releases that will be deployed to each environment when the deployment trigger conditions (such as a build succeeding and creating a new release) are met. Dans la section Déclencheur de la boîte de dialogue Conditions de déploiement de l’environnement (Figure 87), sélectionnez les conditions des artefacts, comme la branche source et les étiquettes, pour les builds qui déclencheront un nouveau déploiement sur cet environnement.In the Trigger section of the environment Deployment conditions dialog (Figure 87), select the artifact conditions such as the source branch and tags for builds that will trigger a new deployment to that environment.

Deployment conditions dialog
(Figure 87) Boîte de dialogue Conditions de déploiement(Figure 87) Deployment conditions dialog

Par ailleurs, la page Résumé de la mise en production (Figure 88) contient désormais une info-bulle contextuelle qui indique la raison pour laquelle tous les déploiements « non démarrés » sont dans cet état, et suggère comment ou quand le déploiement démarrera.In addition, the Release Summary page (Figure 88) now contains a pop-up tip that indicates the reason for all “not started” deployments to be in that state, and suggests how or when the deployment will start.

Release summary tip
(Figure 88) Info-bulle de résumé de la mise en production(Figure 88) Release summary tip

Déclencheurs de version pour les dépôts Git comme source d’artefactsRelease Triggers for Git repositories as an artifact source

Release Management prend désormais en charge la configuration d’un déclencheur de déploiement continu (Figure 89) pour les dépôts Git liés à une définition de version dans les projets d’équipe du même compte.Release Management now supports configuring a continuous deployment trigger (Figure 89) for Git repositories linked to a release definition in any of the team projects in the same account. Ceci vous permet de déclencher automatiquement une version quand une nouvelle validation est effectuée dans le dépôt.This lets you trigger a release automatically when a new commit is made to the repository. Vous pouvez également spécifier une branche du dépôt Git pour laquelle les validations déclenchent une version.You can also specify a branch in the Git repository for which commits will trigger a release.

Release triggers
(Figure 89) Déclencheurs de mise en production(Figure 89) Release triggers

Déclencheurs de version : déploiement continu pour les modifications envoyées (push) dans un dépôt GitRelease Triggers: Continuous deployment for changes pushed to a Git repository

Release Management a toujours fourni la possibilité de configurer un déploiement continu à la fin d’une build.Release Management has always provided the capability to configure continuous deployment when a build completes. Cependant, vous pouvez maintenant aussi configurer un déploiement continu sur un envoi (push) à Git.However, now you can also configure continuous deployment on Git Push. Cela signifie que vous pouvez lier des dépôts GitHub et Team Foundation Git en tant que sources d’artefacts à une définition de version, puis déclencher des versions automatiquement pour des applications comme Node.JS et PHP, qui ne sont pas générées à partir d’une build : vous n’avez donc pas besoin d’une action de génération pour un déploiement continu.This means that you can link GitHub and Team Foundation Git repositories as artifact sources to a release definition, and then trigger releases automatically for applications such as Node.JS and PHP that are not generated from a build and so do not need a build action for continuous deployment.

Filtres de branche dans les déclencheurs d’environnementBranch filters in environment triggers

Dans le nouvel éditeur de définition de version, vous pouvez désormais spécifier les conditions des artefacts pour un environnement particulier.In the new release definition editor you can now specify artifact conditions for a particular environment. Avec ces conditions d’artefacts, vous aurez un contrôle plus précis sur les artefacts à déployer dans un environnement spécifique.Using these artifact conditions, you will have more granular control on which artifacts should be deployed to a specific environment. Par exemple, pour un environnement de production, vous devez veiller à ce que seules soient déployées les builds générées à partir de la branche maître.For example, for a production environment you may want to make sure that builds generated only from the master branch are deployed. Ce filtre doit être défini pour tous les artefacts qui, selon vous, doivent répondre à ces critères.This filter needs to be set for all artifacts that you think should meet this criterion.

Vous pouvez aussi ajouter plusieurs filtres pour chaque artefact lié à la définition de version (Figure 90).You can also add multiple filters for each artifact that is linked to the release definition (Figure 90). Le déploiement dans cet environnement ne sera déclenché que si toutes les conditions d’artefact sont réunies.Deployment will be triggered to this environment only if all the artifact conditions are successfully met.

Branch filters
(Figure 90) Filtres de branche(Figure 90) Branch filters

Améliorations apportées aux tâches côté serveurEnhancements to server-side tasks

Nous avons apporté deux améliorations des tâches côté serveur (des tâches qui s’exécutent dans une phase serveur).We have made two enhancements to server-side tasks (tasks that run within a server phase).

Nous avons ajouté une nouvelle tâche qui peut être utilisée pour appeler n’importe quelle API REST HTTP générique (Figure 91) dans le cadre du pipeline automatisé.We have added a new task that can be used to invoke any generic HTTP REST API (Figure 91) as part of the automated pipeline. Par exemple, elle peut être utilisée pour appeler un traitement spécifique avec une fonction Azure et attendre qu’elle se termine.For example, it can be used to invoke specific processing with an Azure function, and wait for it to be completed.

REST API task
(Figure 91) Tâches d’API REST(Figure 91) REST API task

Nous avons aussi ajouté une section Options de contrôle (Figure 92) à toutes les tâches côté serveur.We have also added a Control options (Figure 92) section to all server-side tasks. Le comportement des tâches comprend maintenant les options Activé, Continuer en cas d’erreur, Toujours exécuter et Délai d’attente.Task behavior now includes setting the Enabled, Continue on error, Always run, and Timeout options.

Task control options
(Figure 92) Options de contrôle des tâches(Figure 92) Task control options

Badge d’état de la version dans le hub CodeRelease status badge in Code hub

Aujourd’hui, si vous souhaitez savoir si une validation est déployée dans l’environnement de production de votre client, vous déterminez d’abord quelle build consomme la validation puis vous vérifiez ensuite tous les environnements de mise en production où cette build est déployée.Today, if you want to know whether a commit is deployed to your customer production environment, you first identify which build consumes the commit and then check all the release environments where this build is deployed. Cette expérience est désormais beaucoup plus facile avec l’intégration de l’état du déploiement dans le badge d’état du hub Code pour afficher la liste des environnements sur lesquels votre code est déployé.Now this experience is much easier with the integration of the deployment status in the Code hub status badge to show the list of environments that your code is deployed to. Pour chaque déploiement, l’état est publié à la dernière validation qui faisait partie du déploiement.For every deployment, status is posted to the latest commit that was part of the deployment. Si une validation est déployée sur plusieurs définitions de mise en production (avec plusieurs environnements), chaque définition a une entrée dans le badge, avec l’état indiqué pour chaque environnement (Figure 93).If a commit is deployed to multiple release definitions (with multiple environments) then each has an entry in the badge, with status shown for each environment (Figure 93). Ceci améliore la traçabilité de la validation du code pour les déploiements.This improves the traceability of code commit to deployments.

Release status badge
(Figure 93) Badge d’état de la mise en production(Figure 93) Release status badge

Par défaut, quand vous créez une définition de version, l’état du déploiement est publié pour tous les environnements.By default, when you create a release definition, deployment status is posted for all environments. Toutefois, vous pouvez choisir les environnements dont l’état du déploiement doit être affiché dans le badge d’état (par exemple, afficher seulement les environnements de production) (Figure 94).However, you can selectively choose the environments whose deployment status should be displayed in the status badge (e.g. only show production environments) (Figure 94).

Deployment options dialog
(Figure 94) Boîte de dialogue Options de déploiement(Figure 94) Deployment options dialog

Améliorations apportées au menu Définition de build lors de l’ajout d’artefactsEnhancements to Build definition menu when adding artifacts

Au moment d’ajouter des artefacts de build à une définition de version, vous pouvez désormais afficher les définitions avec des informations sur l’organisation de leurs dossiers et simplifier le choix de la définition souhaitée (Figure 95).When adding build artifacts to a release definition, you can now view the definitions with their folder organization information and simplify choosing the desired definition (Figure 95). Ceci facilite la différenciation des noms identiques de définition de build, mais dans des dossiers différents.This makes it easy to differentiate the same build definition name but in different folders.

Add artifact
(Figure 95) Ajouter un artefact(Figure 95) Add artifact

La liste des définitions est filtrée en fonction de celles qui contiennent le terme du filtre.The list of definitions is filtered based on those that contain the filter term.

Rétablir votre définition de version à une version antérieureRevert your release definition to older version

Aujourd’hui, si une définition est mise à jour, vous ne pouvez pas la rétablir directement à une version antérieure.Today, if a release definition is updated, you can’t directly revert to a previous version. Le seul moyen de le faire est de rechercher les différences des modifications dans l’historique des définitions de version, puis de modifier manuellement la définition de version.The only way is to look into the release definition history to find the diff of the changes, and then manually edit the release definition. Désormais, avec la fonctionnalité Restaurer la définition (Figure 96), vous pouvez choisir et revenir à n’importe quelle version antérieure d’une définition de version, à partir de l’onglet Historique de la définition de version.Now, using the Revert Definition feature (Figure 96), you can choose, and revert back to any older version of a release definition from the release definition History tab.

Revert release definition
(Figure 96) Restaurer la définition de mise en production(Figure 96) Revert release definition

Notifications personnalisées pour les mises en productionPersonalized notifications for releases

Les notifications de mise en production sont désormais intégrées à l’expérience des paramètres de notification de VSTS.Release notifications are now integrated with the VSTS notification settings experience. Les personnes en charge de la gestion des mises en production sont désormais automatiquement notifiées des actions en attente (approbations ou interventions manuelles) et des échecs de déploiement importants.Those managing releases are now automatically notified of pending actions (approvals or manual interventions) and important deployment failures. Vous pouvez désactiver ces notifications en accédant aux paramètres de Notification sous le menu de profil et en désactivant les Abonnements de mise en production.You can turn off these notifications by navigating to the Notification settings under the profile menu and switching off Release Subscriptions. Vous pouvez aussi vous abonner à des notifications supplémentaires en créant des abonnements personnalisés.You can also subscribe to additional notifications by creating custom subscriptions. Les administrateurs peuvent contrôler les abonnements des équipes et des groupes à partir des paramètres de Notification sous les paramètres Équipe et Compte.Admins can control subscriptions for teams and groups from the Notification settings under Team and Account settings.

Les auteurs de définitions de mise en production n’ont plus besoin d’envoyer manuellement des e-mails pour les approbations et les exécutions de déploiements.Release definition authors will no longer need to manually send emails for approvals and deployment completions.

Cela est particulièrement utile pour les grands comptes qui ont plusieurs parties prenantes pour les mises en production, et pour les personnes autres que les approbateurs, les créateurs de mises en production et les propriétaires d’environnement qui veulent éventuellement être notifiés (Figure 97).This is especially useful for large accounts that have multiple stakeholders for releases, and for those other than the approver, release creator, and environment owner that might want to be notified (Figure 97).

Release notifications
(Figure 97) Notifications pour les mises en production(Figure 97) Release notifications

Pour plus d’informations, consultez le billet relatif à la gestion des notifications de mise en production.See the post for managing release notifications for more information.

Tests Testing

Suppression de la prise en charge du Centre lab et des flux de tests automatisés dans Microsoft Test Manager Removing support for Lab Center and automated testing flows in Microsoft Test Manager

Avec l’évolution de la gestion des builds et de Release Management, les builds XAML ne sont plus prises en charge dans TFS 2018 et par conséquent, nous mettons à jour la prise en charge de l’utilisation de Microsoft Test Manager (MTM) avec TFS.With the evolution of Build and Release Management, XAML builds are no longer supported in TFS 2018 and consequently we are updating support for using Microsoft Test Manager (MTM) with TFS. L’utilisation du Centre de test/Centre lab dans MTM pour les tests automatisés n’est plus prise en charge par TFS, à compter de TFS 2018.Using Test Center/Lab Center in MTM for automated testing is no longer supported by TFS, starting with TFS 2018. Si vous n’êtes pas prêt à migrer et à ne plus utiliser les builds XAML et le Centre lab, vous ne devez pas effectuer la mise à niveau vers TFS 2018.If you are not ready to migrate away from XAML builds and Lab Center, you should not upgrade to TFS 2018.

Observez l’impact de la mise à niveau vers TFS 2018 ci-dessous :Please see the impact of upgrading to TFS 2018 below:

Centre lab :Lab Center:
  • Plus pris en charge :No longer supported:
    • Les contrôleurs de test ne peuvent pas être inscrits auprès de TFS pour créer et gérer des environnements lab.Test Controllers cannot be registered with TFS for creating and managing Lab environments.
    • Les contrôleurs de test existants inscrits auprès de TFS passeront hors connexion et les environnements lab existants apparaîtront avec l’état « Pas prêt ».Any existing Test Controllers registered with TFS will go offline and existing Lab environments will appear as 'Not Ready'.
  • Alternative recommandée :Recommended alternative:
Tests automatisés :Automated Testing:
Tests manuels :Manual Testing:
  • Tous les scénarios de tests manuels continuent d’être entièrement pris en charge.All manual testing scenarios continue to be fully supported. Alors que les tests manuels peuvent être exécutés en utilisant MTM avec TFS 2018, les environnements lab ne peuvent pas être utilisés pour exécuter des tests manuels.While manual tests can be run using MTM with TFS 2018, Lab Environments cannot be used to run manual tests.
  • Pour tous les scénarios de tests manuels, nous recommandons fortement d’utiliser le hub Test dans l’accès web TFS.For all manual testing scenarios, we strongly recommend using the Test hub in TFS web access.

Sur la base des commentaires que nous avons reçu des équipes effectuant des tests exploratoires, nous améliorons les liens de traçabilité lors de l’archivage des bogues, des tâches ou des cas de test à partir de l’extension Test et commentaires.Based on the feedback we received from teams doing exploratory testing, we are improving traceability links while filing bugs, tasks, or test cases from the Test & Feedback extension. Les bogues et les tâches créés lors de l’exploration des spécifications le sont désormais avec le même chemin de zone et la même itération que celle de la spécification, au lieu des valeurs par défaut de l’équipe.Bugs and tasks created while exploring requirements will now be created with the same area path and iteration as that of the requirement instead of team defaults. Les cas de test créés lors de l’exploration des spécifications sont désormais liés avec un lien Tests <-> Testé par à la place du lien Parent <-> Enfant, pour que les cas de test que vous créez soient automatiquement ajoutés aux suites de tests basées sur une spécification.Test cases created while exploring requirements will now be linked with a Tests <-> Tested By link instead of the Parent <-> Child link so that the test cases you create are automatically added to requirement based test suites. Enfin, les éléments de travail créés sans exploration spécifique des spécifications sont créés dans l’itération par défaut de l’équipe, au lieu de l’itération active : ainsi, aucun nouvel élément de travail ne vient dans l’itération active une fois que la planification du sprint est terminée.Finally, work items created while not specifically exploring any requirement will be filed in the team’s default iteration instead of the current iteration so that no new work items come into the current iteration after the sprint planning is complete.

Filtres pour les éléments de travail de cas de test dans les plans et les suites de test du hub TestFilters for Test Case work items in Test Plans and Suites in Test Hub

En plus des filtres sur les champs Test, comme Résultat, Configuration et Testeur, vous pouvez désormais filtrer sur les champs des éléments de travail du cas de test, comme Titre, État et Affecté à (Figure 98).In addition to the filters on Test fields like Outcome, Configuration, and Tester, you can now filter on Test Case work item fields like Title, State, and Assigned To (Figure 98).

Test case filters
(Figure 98) Filtres de cas de test(Figure 98) Test case filters

Graphiques de tendance des tests pour les environnements de mise en production et les séries de testsTest trend charts for Release Environments and Test Runs

Nous avons ajouté la prise en charge des environnements de mise en production dans le widget Tendance des résultats de test (Figure 99), ce qui vous permet de suivre l’état des environnements de test sur les tableaux de bord VSTS.We are adding support for Release Environments in the Test Result Trend widget (Figure 99) so that you can track status of test environments on VSTS dashboards. Comme vous le faites pour les résultats de test dans les environnements de génération, vous pouvez désormais créer des graphiques de tendances indiquant le taux de réussite des tests, le nombre total de tests, le nombre de tests ayant réussi ou échoué, et la durée des tests pour les environnements de mise en production.Like the way you to do for test results in Build, you can now create trend charts showing test pass rate, count of total, passed or failed tests, and test duration for Release Environments. Vous pouvez également filtrer les graphiques sur une série de tests spécifique dans un environnement avec le filtre de titre Série de tests.You can also filter the charts to a specific test run within an environment with the Test Run title filter.

Test trend chart
(Figure 99) Graphique de tendances des tests(Figure 99) Test trend chart

Prise en charge de la mise en forme Markdown pour les commentaires des séries de tests et des résultats de testMarkdown formatting support for Test Run and Test Result comments

Nous avons ajouté la prise en charge de la mise en forme des commentaires des Séries de tests et des Résultats des tests avec la syntaxe Markdown.We are adding support for formatting Test Run and Test Result comments with markdown syntax. Vous pouvez utiliser cette fonctionnalité pour créer du texte mis en forme ou des liens rapides vers des URL dans vos commentaires.You can use this feature to create formatted text or quick links to URLs in your comments. Vous pouvez mettre à jour les commentaires de Résultats de test dans la page Résumé des résultats avec les commentaires Mettre à jour l’analyse et Série de tests dans la page Résumé de l’exécution avec Mettre à jour les commentaires dans le hub Test.You can update Test Result comments in the Result Summary page with Update analysis and Test Run comments in the Run Summary page with Update comments in Test hub.

Lors de l’analyse du résultat du test dans la page de résumé de Build ou de Version, ou dans le hub Test, vous pouvez désormais associer un bogue existant à un test qui a échoué.While analyzing the test result in the Build or Release summary page or in the Test hub, you can now associate an existing bug to a failed test. C’est pratique quand un test échoue pour une raison connue qui a un bogue déjà créé.This is helpful when a test is failing for a known reason that has a bug already filed.

Chargement des pièces jointes aux séries de tests et aux résultats de testUpload attachments to test runs and test results

Vous pouvez désormais joindre des fichiers, par exemple des captures d’écran et des fichiers journaux, aux séries de tests ou aux résultats de test pour fournir des informations complémentaires.You can now attach files such as screenshots and log files to test runs or test results as additional information. Jusque là, cette fonctionnalité n’était disponible qu’à travers le client Microsoft Test Manager (MTM), ce qui vous obligeait à basculer entre le hub de Test de VSTS/TFS et le client MTM.Up to this point, this capability was only available through the Microsoft Test Manager (MTM) client, forcing you to switch context between the Test hub in VSTS/TFS and the MTM client.

Traitement par lot des testsTest batching

Dans la tâche de test Visual Studio, dans la gestion de Build et mise en production, certaines options vous permettent de contrôler la façon dont les tests doivent être regroupés (en lots) pour optimiser l’exécution.In the Visual Studio test task in Build/Release management, options are available to control how tests should be grouped (batched) for efficient execution. Les tests peuvent être regroupés de deux manières :Tests can be grouped in two ways:

  1. En fonction du nombre de tests et d’agents participant à l’exécution : les tests sont simplement regroupés dans un certain nombre de lots d’une taille spécifiée.Based on the number of tests and agents participating in the run, which simply groups tests into a number of batches of a specified size.
  2. En fonction du temps d’exécution passé des tests, c’est-à-dire du temps d’exécution passé pour créer des lots de tests de sorte que chaque lot ait un temps d’exécution à peu près égal (Figure 100).Based on past running time of tests, which considers past running time to create batches of tests such that each batch has approximately equal running time (Figure 100). Les tests qui s’exécutent rapidement sont donc regroupés ensemble, alors que les tests qui prennent plus de temps à s’exécuter peuvent appartenir à un lot distinct.Quick running tests get batched together while longer running tests may belong to a separate batch. Cette option peut être combinée avec le paramètre de phase multi-agent de façon à réduire autant que possible la durée totale des tests.This option can be combined with the multi-agent phase setting to reduce the total test time to a minimum.
Test batching
(Figure 100) Traitement par lot des tests(Figure 100) Test batching

Exécution de tests web à l’aide de la tâche VSTestRun webtests using the VSTest task

En utilisant la tâche de test Visual Studio, les tests web, aussi appelés tests de performances web, peuvent désormais être exécutés dans le pipeline CI/CD.Using the Visual Studio test task, webtests, also known as web performance tests, can now be run in the CI/CD pipeline. Les tests web peuvent être exécutés en spécifiant les tests à exécuter dans l’entrée d’assembly de tâche.Webtests can be run by specifying the tests to run in the task assembly input. Tout élément de travail de cas de test qui a une « automatisation associée » liée à un test web peut aussi être exécuté en sélectionnant le plan de test/la suite de tests dans la tâche (Figure 101).Any test case work item that has an “associated automation” linked to a webtest, can also be run by selecting the test plan/test suite in the task (Figure 101).

Test selection
(Figure 101) Sélection des tests(Figure 101) Test selection

Le résultat des tests web est disponible sous forme de pièce jointe au résultat de test (Figure 102).Webtest results will be available as an attachment to the test result (Figure 102). Elle peut être téléchargée pour être analysée en mode hors connexion dans Visual Studio.This can be downloaded for offline analysis in Visual Studio.

Test summary
(Figure 102) Résumé des tests(Figure 102) Test summary

Cette fonctionnalité dépend des modifications de la plateforme de test Visual Studio et nécessite l’installation de Visual Studio 2017 Update 4 sur l’agent de build et de mise en production.This capability is dependent on changes in the Visual Studio test platform and requires that Visual Studio 2017 Update 4 be installed on the build/release agent. Les tests web ne peuvent pas s’exécuter avec une version antérieure de Visual Studio.Webtests cannot be run using prior versions of Visual Studio.

De même, les tests web peuvent être exécutés à l’aide de la tâche Exécuter les tests fonctionnels.Similarly, webtests can be run using the Run Functional Test task. Cette fonctionnalité est dépendante des modifications apportées à l’agent de test, qui sera fourni avec Visual Studio 2017 Update 5.This capability is dependent on changes in the Test Agent, that will be available with the Visual Studio 2017 Update 5.

Pour savoir comment l’utiliser avec les tests de charge, consultez le guide démarrage rapide Test de charge sur une application dans le cloud en utilisant Visual Studio et VSTS en guise d’exemple.See the Load test your app in the cloud using Visual Studio and VSTS quickstart as an example of how you can use this together with load testing.

Widget de graphique pour les plans de test et les suites de testsChart widget for test plans and test suites

Avant, vous pouviez créer des graphiques pour les plans de test et les suites de tests dans le hub Test et les épingler au tableau de bord.Previously, you could create charts for test plans and suites in Test hub and pin them to dashboard. Nous avons depuis ajouté un widget qui permet de créer des graphiques pour les plans de test et les suites de tests à partir du catalogue de widgets du tableau de bord.We have now added a widget that enables creating charts for test plans and suites from the widget catalog on the dashboard. Vous pouvez créer des graphiques pour l’état de création de tests ou l’état d’exécution de tests.You can create charts for test authoring status or test execution status. Par ailleurs, l’ajout de graphiques à partir du widget vous permet de créer des graphiques plus grands si vous voulez afficher plus de données sur un graphique (Figure 103).Moreover, adding charts from the widget allows you to create larger charts when you have more data to be shown on a chart (Figure 103).

Chart widget
(Figure 103) Widget de graphique(Figure 103) Chart widget

Prise en charge des captures d’écran et des annotations pour les applications de bureau avec le navigateur Chrome pour les tests manuelsScreenshot and annotation support for desktop apps with Chrome browser for manual tests

Nous avons répondu à l’une des principales suggestions concernant les tests manuels : la prise en charge des captures d’écran d’applications de bureau à partir de Web Test Runner dans le hub Test.We are adding support for one of the top suggestions from manual testing - capturing screenshots of desktop applications from the Web Test Runner in Test hub. Jusqu’à présent, vous deviez utiliser Test Runner dans Microsoft Test Manager pour effectuer des captures d’écran d’applications de bureau.Until now, you had to use Test Runner in Microsoft Test Manager to capture screenshots of desktop apps. Vous devez installer l’extension Test & Feedback pour utiliser cette fonctionnalité.You need to install the Test & Feedback extension to use this functionality. Nous déployons actuellement la prise en charge du navigateur Chrome. Celle de Firefox suivra peu de temps après.We are rolling out support for the Chrome browser, and Firefox will follow shortly thereafter.

Abandon de l’extension TFS pour SharePoint Discontinuing TFS Extension for SharePoint

TFS 2018 et ultérieur ne prendra plus en charge l’extension TFS pour SharePoint.TFS 2018 and later versions will no longer support the TFS Extension for SharePoint. En outre, les écrans utilisés pour configurer l’intégration entre un serveur TFS et un serveur SharePoint ont été supprimés de la Console Administration Team Foundation.Additionally, the screens used to configure integration between a TFS Server and a SharePoint server have been removed from the Team Foundation Administration Console.

Note

Si vous mettez à niveau une version précédente configurée vers TFS 2018 pour l’intégrer à SharePoint, vous devez désactiver l’intégration SharePoint après la mise à niveau, sinon le chargement de vos sites TFS/SharePoint échoue.If you are upgrading to TFS 2018 from a previous version configured to integrate with SharePoint, you will need to disable the SharePoint integration after upgrade, or your TFS SharePoint sites will fail to load.

Nous avons créé une solution qui vous permet de désactiver l’intégration sur le serveur SharePoint.We have created a solution that allows you to disable integration on the SharePoint server. Pour plus d’informations, consultez le billet sur l’avenir de notre intégration TFS/SharePoint.For more information, please see the post on the future of our TFS/SharePoint Integration.

Abandon des salles d’équipe Discontinuing Team Rooms

Les équipes de développement d’aujourd’hui dépendent fortement de la collaboration.Modern development teams heavily depend on collaboration. Les personnes veulent (et ont besoin de) un endroit pour surveiller l’activité (notifications) et pour en parler (conversation).People want (and need) a place to monitor activity (notifications) and talk about it (chat). Il y a quelques années, nous avons constaté cette tendance et nous avons créé la Salle d’équipe pour prendre en charge ces scénarios.A few years back, we recognized this trend and set out to build the Team Room to support these scenarios. Depuis lors, nous constaté l’émergence sur le marché d’autres solutions pour collaborer.Since that time, we have seen more solutions to collaborate emerge in the market. Plus particulièrement, nous avons vu la montée de Slack.Most notably, the rise of Slack. Et plus récemment, il y a eu l’annonce de Microsoft Teams.And more recently, the announcement of Microsoft Teams.

Avec un si grand nombre de bonnes solutions qui s’intègrent parfaitement à TFS et Visual Studio Team Services, nous avons annoncé en janvier les plans de suppression de notre fonctionnalité Salle d’équipe dans TFS 2018 et dans Visual Studio Team Services.With so many good solutions available that integrate well with TFS and Visual Studio Team Services, we announced in January the plans to remove our Team Room feature from both TFS 2018 and Visual Studio Team Services.


Haut de page
Top of Page