Partager via


Travailler avec des espaces de travail de 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.

Rôle joué par l'espace de travail de build

Avant le démarrage du processus de génération

Étape 1 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 Créer et utiliser des agents de build.

Étape 2 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

Étape 3 Le processus de génération passe vos spécifications d'espace de travail à l'activité de flux de travail Activité CreateWorkspace pour créer un espace de travail dans son répertoire de travail.

Étape 4 Le processus de génération utilise l'activité 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).

Concevoir un espace de travail pour votre définition de build

Lorsque vous concevez l'espace de travail de votre définition de build, vous devez appliquer certaines meilleures pratiques.

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 autre solution dans le champ Éléments à générer sur 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.

Lorsque vous supprimez des éléments du champ Éléments à générer sur l'onglet processus, recherchez les mappages que vous pouvez supprimer dans l'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. Par exemple, si un développeur archive des modifications apportées à un dossier qui est mappé dans l'espace de travail d'une définition de build dont le déclencheur est de type Archivage contrôlé, ces modifications sont bloquées tant que le processus de génération n'est pas terminé.

Pour plus d'informations sur les déclencheurs, consultez Spécifier les raisons et les déclencheurs de build.

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.

Exemple d'espace de travail de définition de build

Étape 1 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.

Étape 2 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.

Étape 3 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 exige qu'ils soient placés dans un dossier physique spécifique : c:\adatum\widgets.

Copier des 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

  1. Cliquez sur Copier un espace de travail existant.

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

  1. 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 cliquez sur l'onglet Espace de travail.

    • Pour copier les mappages d'un autre espace de travail de membre d'équipe, demandez au membre d'équipe d'ouvrir le menu Fichier et de cliquer sur Contrôle de code source, puis sur Espaces de travail. Sélectionnez l'espace de travail, puis cliquez sur Modifier.

  2. Cliquez avec le bouton droit sur une ligne du tableau Dossiers de travail, puis cliquez sur Sélectionner tout.

  3. Cliquez avec le bouton droit sur une ligne du tableau Dossiers de travail, puis cliquez sur Copier.

  4. Créez un fichier texte, collez le contenu du Presse-papiers dans ce fichier texte, puis enregistrez -le.

  5. 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 une définition de build de base ou Modifier une définition de build.

  6. Sous l'onglet Espace de travail, cliquez avec le bouton droit sur une ligne du tableau Dossiers de travail, puis cliquez sur Coller.

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

Pour plus d'informations

Vous définissez l'espace de travail de l'agent de build lorsque vous créez une définition de build. Pour plus d'informations, consultez Créer une définition de build de base.

Un espace de travail d'agent de build représente essentiellement le même mécanisme que l'espace de travail de contrôle de version dont se sert un développeur pour utiliser les fichiers sources d'un projet d'équipe. Vous pouvez copier les mappages entre un espace de travail de contrôle de version et un espace de travail d'agent de build. Pour plus d'informations sur les espaces de travail de contrôle de version, consultez Créer un espace de travail pour utiliser le projet de votre équipe.

Historique des modifications

Date

Historique

Motif

Mai 2011

Ajout d'une rubrique.

Améliorations apportées aux informations.