Optimiser votre espace de travail

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

Si votre équipe dispose d’une base de code volumineuse et complexe, vous pouvez optimiser votre espace de travail pour qu’elle contienne uniquement les fichiers dont vous avez besoin. L’optimisation de votre espace de travail améliore les performances, réduit le trafic réseau et réduit l’espace disque requis sur votre machine de développement.

Notes

Le branchement et la suspension ou la réservation sont les méthodes recommandées pour isoler différents efforts de travail sur la même base de code. Toutefois, si aucune de ces approches ne répond à vos besoins, vous pouvez mapper le même dossier de serveur dans plusieurs espaces de travail. Dans la plupart des cas, vous n’avez pas besoin de le faire.

Si vous mappez le même dossier de serveur dans plusieurs espaces de travail, souvenez-vous que vous pouvez avoir des modifications en attente distinctes et différentes du même fichier stocké dans chaque espace de travail.

Optimiser vos noms de dossier

Si vous n’utilisez pas encore de branches, placez tout votre code dans un sous-dossier appelé Main sur votre serveur, par exemple : $/TFVCTeamProject/Main/. Vous serez alors prêt lorsque votre équipe grandira suffisamment pour exiger des branches pour gérer son codebase. Sur votre ordinateur de développement, vous devez utiliser un chemin de dossier court et compréhensible qui correspond à votre structure de projet, par exemple C:\Users\<VotreName>\Source\Workspaces\TFVCTeamProject\Main\SolutionName.

Quelques conseils supplémentaires sur les noms de dossiers efficaces :

  • Conservez tous les dossiers, sous-dossiers et noms de fichiers courts pour simplifier votre travail et éviter les éventuels problèmes de chemin d’accès long qui peuvent se produire avec certains types de projets de code.

  • Évitez les espaces blancs dans les noms de fichiers et de dossiers pour faciliter les opérations de ligne de commande.

Optimiser votre espace de travail

Si la base de code de votre équipe est volumineuse, vous pouvez éviter de perdre du temps, de la bande passante réseau et de l’espace disque local en optimisant les mappages de dossiers de votre espace de travail. Vous pouvez utiliser des mappages de dossiers explicites, implicites, masqués et non récursifs pour créer plus simplement et rapidement un espace de travail utilisable.

Lorsque vous mappez un dossier à votre espace de travail, veillez à choisir un dossier suffisamment élevé dans l’arborescence de code que vous obtenez tous les fichiers dont vous avez besoin pour créer une build locale, mais suffisamment faible pour obtenir plus de fichiers que nécessaire. Dans l’exemple d’espace de travail suivant, vous pouvez simplement mapper $/SiteApp/ à c:\code\SiteApp\. Un espace de travail simple comme celui-ci mapperait implicitement tous les dossiers dans $/SiteApp/Main/ à votre espace de travail, y compris les fichiers dont vous avez besoin.

Le problème principal avec cette approche est qu’elle vous fournit de nombreux fichiers dont vous n’avez pas besoin, ce qui fait perdre du temps et des ressources. Par exemple, si vous ne développez pas de processus de génération personnalisés, vous n’avez pas besoin de $/SiteApp/BuildProcessTemplates/.

Au fil du temps, vous vous attendez à ce que votre codebase d’équipe augmente, et vous ne souhaitez pas télécharger automatiquement chaque nouveau bit de code ajouté à $/SiteApp/Main/. Lorsque les équipes travaillant dans d’autres dossiers modifient ces fichiers, quand vous obtenez les derniers fichiers à partir du serveur, vous risquez d’entraîner de longs retards en attendant les mises à jour des fichiers dont vous n’avez pas besoin.

Vous pouvez optimiser votre espace de travail pour créer des mappages de dossiers plus personnalisés.

  1. Dans l’Explorateur du contrôle de code source Visual Studio, sélectionnez la flèche déroulante à côté d’Espaces de travail, puis sélectionnez Espaces de travail.

  2. Dans la boîte de dialogue Gérer les espaces de travail, sélectionnez l’espace de travail que vous souhaitez optimiser, puis sélectionnez Modifier.

  3. Dans la boîte de dialogue Modifier l’espace de travail, modifiez les mappages d’espace de travail.

    Capture d’écran montrant la modification d’un espace de travail dans la boîte de dialogue Modifier l’espace de travail.

  4. Par exemple, pour développer votre code, vous avez besoin de projets de code à partir du projet DinnerNow. Au lieu d’inclure explicitement chaque projet de code dans la solution, tel que $/Fabrikam TFVC/DinnerNow/feature3, vous pouvez mapper $/Fabrikam TFVC/DinnerNow, et ainsi mapper implicitement tous les sous-dossiers qui contiennent les projets de code dont vous avez besoin.

  5. Vous n’avez pas besoin des fichiers dans $/Fabrikam TFVC/DinnerNow/feature1 ou $/Fabrikam TFVC/DinnerNow/feature2, mais comme ils sont implicitement mappés, vous pouvez utiliser deux mappages masqués pour exclure ces dossiers de votre espace de travail.

  6. Votre équipe gère et augmente parfois un ensemble de bibliothèques fondamentales. Vous avez besoin de presque toutes les bibliothèques actuelles dans ce dossier, et vous vous attendez à avoir besoin de bibliothèques que votre équipe y ajoute à l’avenir. Vous mappez donc $/Fabrikam TFVC/Main/.

  7. Vous n’avez besoin que d’un petit segment d’un dossier volumineux, $/Fabrikam TFVC/Main/ClassLibrary, afin de le mapper comme masqué, puis de mapper explicitement uniquement le sous-dossier dont vous avez besoin, $/Fabrikam TFVC/Main/ClassLibrary1.

  8. Vous avez besoin de certains fichiers immédiatement dans ClassLibrary1, mais vous n’avez pas besoin du contenu de ses sous-dossiers. Vous appliquez donc un mappage non récursif au dossier $/Fabrikam TFVC/Main/ClassLibrary1/.

Vous pouvez également mapper des dossiers à des espaces de travail en cliquant avec le bouton droit sur une branche ou un dossier non mappé dans l’Explorateur du contrôle de code source et en sélectionnant Avancé>Mapper vers un dossier local. Vous pouvez également sélectionner le lien Non mappé à côté du dossier Local en haut de l’Explorateur du contrôle de code source. Dans la boîte de dialogue Map, sélectionnez un dossier local auquel effectuer le mappage, puis cochez la case Recursive si vous souhaitez rendre le mappage récursif entre les sous-dossiers.

Les captures d’écran suivantes montrent les résultats de l’application de ces optimisations d’espace de travail sur l’arborescence du serveur dans l’Explorateur du contrôle de code source et sur les fichiers locaux de votre ordinateur.

Captures d’écran montrant les effets des mappages de dossiers.

Utiliser des espaces de travail pour isoler les branches

Si votre organisation utilise des branches pour isoler les risques dans votre codebase, vous pouvez créer un espace de travail distinct pour chaque branche dans laquelle vous travaillez. Vous continuez votre travail au sein de votre petite équipe, mais vous utilisez quelques espaces de travail pour gérer le travail que vous effectuez dans plusieurs branches.

Par exemple :

Diagramme montrant plusieurs branches.

  • Développer des fonctionnalités : vous modifiez votre espace de travail par défaut pour effectuer un travail dans la branche Extranet, où vous participez au développement du site web accessible aux clients.

  • Intégrer et stabiliser : vous créez deux nouveaux espaces de travail pour travailler dans les branches Test et Dev, où vous collaborez avec d’autres développeurs et testeurs pour stabiliser le code pendant l’intégration.

Vous gérez votre travail dans trois espaces de travail, chacun mappant les dossiers d’une branche sur le serveur aux dossiers de votre ordinateur de développement.

Diagramme montrant le mappage des branches aux dossiers.

Étapes suivantes

Sélectionner une stratégie de branchement efficace