Cibles Team Foundation Build personnalisables
Les cibles MSBuild définissent la manière dont un projet MSBuild est généré. Le fichier Microsoft.TeamFoundation.Build.targets définit la hiérarchie cible et un ensemble de tâches et de cibles MSBuild prédéfinies pour Team Foundation Build et utilisées pour tous les types Team Foundation Build. Les définitions de build incluent un fichier projet nommé TFSBuild.proj. Il peut être associé à une ou plusieurs définitions de build. TfsBuild.proj importe le fichier Microsoft.TeamFoundation.Build.targets et fournit les valeurs pour différentes propriétés et groupes d'éléments. Vous pouvez personnaliser le fichier TfsBuild.proj pour substituer certaines cibles de point d'extension dans la hiérarchie. Le fichier cible se trouve dans <racine>: \\Program Files\MSBuild\Microsoft\VisualStudio\TeamBuild dans l'agent de build.
Important
Ne modifiez pas le fichier Microsoft.TeamFoundation.Build.targets.
Pour plus d'informations sur les cibles MSBuild, consultez Cibles de MSBuild.
Cibles qui peuvent être personnalisées avec des tâches
Les tâches sont contenues dans les cibles. Les tâches fournissent le code exécuté pendant le processus de génération. Le tableau suivant répertorie toutes les cibles Team Foundation Build qui sont définies pour l'extensibilité. Insérez vos tâches dans l'une de ces cibles selon le moment où vous devez exécuter vos tâches personnalisées durant le processus de génération.
Notes
Nous vous déconseillons de substituer d'autres cibles.
Nom de la cible |
Description |
---|---|
BeforeEndToEndIteration |
Insérez votre tâche dans cette cible pour exécuter des tâches personnalisées au tout début du processus de génération. |
AfterEndToEndIteration |
Insérez votre tâche dans cette cible pour exécuter des tâches personnalisées à la fin du processus de génération. |
BeforeInitializeWorkspace |
Insérez votre tâche dans cette cible pour exécuter des tâches personnalisées avant l'initialisation de l'espace de travail. |
AfterInitializeWorkspace |
Insérez votre tâche dans cette cible pour exécuter des tâches personnalisées après l'initialisation de l'espace de travail. |
BuildNumberOverrideTarget |
Insérez votre tâche dans cette cible pour personnaliser les propriétés de numéro de build ou d'emplacement cible. La tâche que vous écrivez doit créer une propriété de sortie appelée BuildNumber. |
BeforeClean |
Appelé avant une tentative de nettoyage. Insérez votre tâche dans cette cible pour exécuter une tâche personnalisée avant nettoyage. |
AfterClean |
Appelé à la fin du nettoyage. Insérez votre tâche dans cette cible pour exécuter des tâches personnalisées après le nettoyage. |
BeforeGet |
Appelé avant l'extraction des fichiers sources du contrôle de code source. Insérez votre tâche dans cette cible pour exécuter des tâches personnalisées avant l'extraction des fichiers sources. |
AfterGet |
Appelé après l'extraction des fichiers sources. Insérez votre tâche dans cette cible pour exécuter des tâches personnalisées après l'extraction des fichiers sources. |
BeforeLabel |
Appelé avant l'étiquetage des fichiers sources. Insérez votre tâche dans cette cible pour exécuter des tâches personnalisées avant la cible Label. |
AfterLabel |
Appelé au terme de l'étiquetage. Insérez votre tâche dans cette cible pour exécuter des tâches personnalisées après la cible Label. |
BeforeCompile |
Appelé avant le démarrage de la compilation. Insérez votre tâche dans cette cible pour exécuter des tâches personnalisées avant la compilation des fichiers de code. |
BeforeCompileConfiguration |
Insérez votre tâche dans cette cible pour exécuter des tâches personnalisées avant la compilation d'une configuration individuelle. |
BeforeCompileSolution |
Insérez votre tâche dans cette cible pour exécuter des tâches personnalisées avant la compilation d'une solution individuelle. |
AfterCompileSolution |
Insérez votre tâche dans cette cible pour exécuter des tâches personnalisées après la compilation d'une solution individuelle. |
AfterCompileConfiguration |
Insérez votre tâche dans cette cible pour exécuter des tâches personnalisées après la compilation d'une configuration individuelle. |
AfterCompile |
Appelé à la fin de la compilation. Insérez votre tâche dans cette cible pour exécuter des tâches personnalisées après la compilation des fichiers de code. |
BeforeGetChangesetsAndUpdateWorkItems |
Insérez votre tâche dans cette cible pour exécuter des tâches personnalisées avant d'associer des ensembles de modifications et mettre à jour des éléments de travail. |
AfterGetChangesetsAndUpdateWorkItems |
Insérez votre tâche dans cette cible pour exécuter des tâches personnalisées après avoir associé des ensembles de modifications et mis à jour des éléments de travail. |
BeforeTest |
Appelé avant l'exécution des tests. Insérez votre tâche dans cette cible pour exécuter des tâches personnalisées avant la cible Test. |
BeforeTestConfiguration |
Insérez votre tâche dans cette cible pour exécuter des tâches personnalisées avant de tester une configuration individuelle. |
AfterTestConfiguration |
Insérez votre tâche dans cette cible pour exécuter des tâches personnalisées après avoir testé une configuration individuelle. |
AfterTest |
Appelé après l'exécution des tests. Insérez votre tâche dans cette cible pour exécuter des tâches personnalisées après la cible Test. |
BeforeDropBuild |
Appelé avant l'enregistrement des fichiers binaires générés, des fichiers journaux de génération et des résultats de tests dans le répertoire cible de build sur le serveur de version. Insérez votre tâche dans cette cible pour exécuter des tâches personnalisées avant l'enregistrement des fichiers générés dans le répertoire cible. |
AfterDropBuild |
Appelé après l'enregistrement des fichiers binaires générés et des résultats de tests sur le serveur de version. Insérez votre tâche dans cette cible pour exécuter des tâches personnalisées après l'enregistrement des fichiers générés dans le répertoire cible. |
BeforeCreateWorkItem |
Insérez votre tâche dans cette cible pour exécuter des tâches personnalisées avant la création d'éléments de travail. |
AfterCreateWorkItem |
Insérez votre tâche dans cette cible pour exécuter des tâches personnalisées après la création d'un élément de travail. |
BeforeOnBuildBreak |
Appelé avant de créer un élément de travail par suite d'un arrêt de génération. Insérez votre tâche dans cette cible pour exécuter des tâches personnalisées avant la cible BuildBreak. |
AfterOnBuildBreak |
Appelé après la création d'un élément de travail suite à un arrêt de build. Insérez votre tâche dans cette cible pour exécuter des tâches personnalisées après la cible BuildBreak. |
GenerateDocumentation |
Il s'agit d'une cible vide. Insérez votre tâche dans cette cible pour générer la documentation pendant le processus de génération. |
Substitution de cibles pour exécuter des tâches personnalisées
Le code de tâche que vous écrivez doit être associé à une cible. Pour plus d'informations, consultez Écriture de tâches. Pour écrire une tâche personnalisée, vous devez suivre ces étapes.
Écrivez le code de tâche et vérifiez que les fichiers binaires générés sont disponibles sur l'ordinateur de build, soit en fournissant le chemin d'accès du contrôle de code source dans le fichier TfsBuild.proj, soit en copiant les fichiers binaires sur l'ordinateur de build même.
Notes
Vérifier le code de tâche dans le contrôle de code source est une bonne pratique de programmation mais ce n'est pas absolument nécessaire.
Enregistrez la tâche personnalisée dans le fichier TfsBuild.proj en le déclarant à l'aide de l'élément UsingTaskMSBuild.
Pour plus d'informations, consultez UsingTask, élément (MSBuild).
<UsingTask TaskName="MyTasks.SimpleTask" AssemblyName="MyAssembly.Build.Tasks"/>
Exécutez la tâche en l'insérant dans la cible désirée dans le fichier TfsBuild.proj.
<Target Name="BeforeGet"> <SimpleTask /> </Target>
Notes
L'ajout de cette balise provoque des avertissements au niveau du schéma XML. Vous pouvez ignorer ces avertissements sans risque.
Déployez la DLL qui contient la tâche personnalisée sur l'ordinateur de build.
Important
Chaque définition de build associée au fichier TfsBuild.proj que vous personnalisez est affectée par la modification.
Ordre d'exécution des cibles
L'ordre d'exécution des cibles dépend de la valeur de la propriété CleanCompilationOutputOnly. Si CleanCompilationOutputOnly a la valeur true, les cibles propres (BeforeClean, CoreClean et AfterClean) sont exécutées après les cibles get et label (BeforeGet, CoreGet, AfterGet, BeforeLabel, CoreLabel et AfterLabel). Si la propriété CleanCompilationOutputOnly a la valeur false, les cibles propres sont exécutées avant les cibles get et label. Si la propriété CleanCompilationOutputOnly a la valeur true, seuls les assemblys intermédiaires sont supprimés du répertoire des sources pendant l'exécution de la cible CoreClean. Si cette propriété a la valeur false, tout le répertoire des sources est supprimé pendant l'exécution de la cible CoreClean.
Le tableau suivant affiche la liste ordonnée des cibles qui sont exécutées selon que CleanCompilationOutputOnly a la valeur true ou false. Les cibles que vous pouvez substituer sont affichées en texte gras.
CleanCompilationOutputOnly = true |
CleanCompilationOutputOnly = false |
---|---|
|
|
Les éléments suivants sont la liste des cibles exécutées lorsqu'une erreur se produit pendant l'exécution de la cible CoreCompile. Les cibles que vous pouvez substituer sont affichées en texte gras.
SetBuildBreakProperties
BeforeOnBuildBreak
GetChangesetsOnBuildBreak
BeforeDropBuild
CoreDropBuild
AfterDropBuild
BeforeCreateWorkItem
CoreCreateWorkItem
AfterCreateWorkItem
CoreOnBuildBreak
AfterOnBuildBreak
Voir aussi
Concepts
Présentation des fichiers de configuration de Team Foundation Build