Cibles Team Foundation Build personnalisables
Mise à jour : novembre 2007
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.
Remarque importante : |
---|
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.
Remarque : |
---|
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é à la fin 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. Pour un exemple, consultez Procédure pas à pas : configuration de Team Build pour générer un projet d'installation Visual Studio. |
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, des fichiers journaux de génération 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 suite à un arrêt de build. 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 automatiquement 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 devez écrire doit être associé à une cible et les fichiers binaires générés doivent être 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. Vous devez également enregistrer la tâche personnalisée dans le fichier TfsBuild.proj en la déclarant à l'aide de l'élément MSBuild de UsingTask. Pour plus d'informations, consultez UsingTask, élément (MSBuild). Enfin, déployez la DLL qui contient la tâche personnalisée sur l'ordinateur de build.
Remarque importante : |
---|
Chaque définition de build associée au fichier TfsBuild.proj que vous personnalisez est affectée par la modification. |
Pour obtenir un exemple d'implémentation de bout en bout d'une tâche personnalisée, consultez Procédure pas à pas : personnalisation de Team Foundation Build avec une tâche personnalisée.
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 signalées.
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 signalées.
SetBuildBreakProperties
BeforeOnBuildBreak (substitution possible)
GetChangesetsOnBuildBreak
BeforeDropBuild (substitution possible)
CoreDropBuild
AfterDropBuild (substitution possible)
BeforeCreateWorkItem (substitution possible)
CoreCreateWorkItem
AfterCreateWorkItem (substitution possible)
CoreOnBuildBreak
AfterOnBuildBreak (substitution possible)
Voir aussi
Tâches
Concepts
Présentation des fichiers de configuration de Team Foundation Build