Travailler avec des espaces de travail de build
Comme vous avez besoin d'un espace de travail sur votre ordinateur de développement pour développer votre application, vous devez spécifier l'espace de travail que l'agent de build utilise pour générer et tester votre application.
Que voulez-vous faire ?
Spécifier un espace de travail pour votre définition de build
Voir un exemple de définition d'espace de travail de build
Copier les données entre les espaces de travail
Comprendre le fonctionnement de l'espace de travail d'une build
Spécifier un espace de travail pour votre définition de build
Lorsque vous définissez votre processus de génération, vous devez appliquer quelques bonnes pratiques pour spécifier l'espace de travail.
Inclure tous les dossiers requis.
Prenez soin d'inclure tous les dossiers qui contiennent les fichiers requis par votre processus de génération. Par exemple, si vous ajoutez une solution dans le champ Projets de l'onglet Processus, vous devrez peut-être ajouter un autre mappage à l'espace de travail.
Inclure uniquement les dossiers requis.
Affectez la valeur d'état Actif uniquement aux dossiers requis par votre processus de génération. Si un sous-dossier d'un dossier mappé contient des fichiers non requis par le processus de génération, affectez-lui la valeur d'état Masqué. Dans de nombreux cas, lorsque vous créez une définition de build, le dossier racine d'un projet d'équipe est mappé dans l'espace de travail. Dans cette configuration, l'agent de build télécharge tous les fichiers du dossier de contrôle de version de votre projet d'équipe. Si ce dossier contient de nombreuses données, votre build est susceptible de gaspiller des ressources du système de génération et de ralentir votre processus de génération en téléchargeant de grandes quantités de données dont elle n'a pas besoin.
Quand vous supprimez des éléments du champ Projets sous l'onglet processus, recherchez les mappages que vous pouvez supprimer dans l'espace de travail.
Conseil
Pour plus d'informations sur l'optimisation d'un espace de travail, consultez Optimiser votre espace de travail.
Utilisez le jeton $(SourceDir) pour mapper un dossier de serveur à un dossier local dans le sous-répertoire .. \Sources.
Dans la plupart des cas, l'emplacement le plus adapté pour les fichiers sources sur l'agent de build se situe sous le sous-répertoire ..\Sources dans le répertoire de travail. Vous pouvez spécifier cet emplacement en utilisant le jeton $(SourceDir) dans la zone Dossier Agent de build.
Notez la façon dont l'espace de travail affecte une définition de build qui est déclenchée par des archivages.
Si vous avez affecté au déclencheur de la définition de build la valeur Intégration continue, Builds enchaînées ou Archivage contrôlé, les dossiers de serveur que vous mappez sont liés au processus de génération. Voici un exemple : Un développeur archive les modifications apportées dans un dossier. Ce dossier est mappé dans l'espace de travail d'une définition de build et cette dernière a un déclencheur Archivage contrôlé. Les modifications seront bloquées jusqu'à la fin du processus de génération.
Exemple d'espace de travail de définition de build
L'ingénieur de compilation Roberto a créé la définition de build Storefront Nightly.
Cette définition de build génère deux solutions : $/Core/Controllers/Controllers.sln et $/Core/Viewers/Viewers.sln. Par conséquent, elle doit mapper les deux dossiers qui contiennent ces solutions, les projets qu'ils contiennent, et tous les autres fichiers requis.
Pour que le processus de génération soit plus efficace, Roberto exclut un dossier contenant des fichiers de documentation non requis par son processus de génération : $/Core/Viewers/Docs.
Les solutions dépendent de fichiers binaires d'une bibliothèque de composant d'une autre société. Ces fichiers binaires sont protégés par un mécanisme propriétaire qui requiert qu'ils soient placés dans un dossier physique spécifique : c:\adatum\widgets.
Copier les données entre les espaces de travail
Vous pouvez gagner du temps en copiant les mappages d'un espace de travail dans un autre.
Pour copier les mappages de l'un de vos espaces de travail
Choisissez Copier l'espace de travail existant.
Dans la boîte de dialogue Sélectionner un espace de travail à copier, copiez les mappages de l'espace de travail.
Pour copier les mappages d'un autre espace de travail de définition de build ou d'un autre espace de travail de membre d'équipe
Effectuez l'une des opérations suivantes :
Pour copier les mappages d'un autre espace de travail de définition de build, ouvrez la définition de build, puis choisissez l'onglet Paramètres de la source.
Pour copier les mappages d'un autre espace de travail de membre d'équipe, demandez au membre de sélectionner dans la barre de menus Fichier, Contrôle de code source, Avancé, Espaces de travail. Sélectionnez l'espace de travail, puis cliquez sur Modifier.
Ouvrez le menu contextuel d'une ligne dans la table Dossiers de travail, puis choisissez Sélectionner tout.
Ouvrez le menu contextuel d'une ligne dans la table Dossiers de travail, puis choisissez Copier.
Créez un fichier texte, collez le contenu du Presse-papiers dans ce fichier texte, puis enregistrez -le.
Créez une définition de build ou modifiez une définition de build existante qui est la cible des mappages que vous copiez.
Pour plus d'informations, consultez Créer ou modifier une définition de build.
Sous l'onglet Paramètres de la source, ouvrez le menu contextuel d'une ligne de la table Dossiers de travail, puis choisissez Coller.
Le cas échéant, adaptez les mappages de sorte que l'agent de build puisse les utiliser. Assurez-vous notamment que la valeur de la zone Dossier Agent de build est correcte et qu'elle contient le jeton $(SourceDir), si nécessaire.
Comprendre le fonctionnement de l'espace de travail d'une build
Pendant le processus de génération, l'agent de build procède à des compilations et effectue d'autres tâches avec vos fichiers sources. Pour effectuer ces tâches, l'agent de build télécharge les fichiers des dossiers du serveur de contrôle de version dans un répertoire de travail local. Pour faciliter le téléchargement de ces fichiers, l'agent de build crée un espace de travail de contrôle de version, ce qui mappe les dossiers du serveur aux dossiers locaux du répertoire de travail de l'agent de build.
Avant le démarrage du processus de génération
Définissez le répertoire de travail de chaque agent de build dans votre système de génération. Pour plus d'informations, consultez Déployer et configurer les agents de build.
Lorsque vous créez votre définition de build, sous l'onglet Espace de travail, spécifiez les dossiers qui contiennent les fichiers que vous souhaitez télécharger et indiquez la façon dont ces dossiers doivent être mappés aux dossiers locaux sur l'agent de build.
Pendant le processus de génération
Le processus de génération passe vos spécifications d'espace de travail à l'activité de flux de travail CreateWorkspace pour créer un espace de travail dans son répertoire de travail.
Le processus de génération utilise l'activité DownloadFiles pour télécharger les fichiers dans l'espace de travail. Une fois cette étape effectuée, l'agent de build peut commencer à utiliser ces fichiers (par exemple, les compiler).