Utiliser et développer des activités de processus de génération personnalisé
Après avoir créé un modèle de processus de génération personnalisé, vous pouvez implémenter votre propre logique métier à l'aide d'instructions Windows Workflow et des activités Team Foundation Build (TFBuild) intégrées. Si ces outils ne suffisent pas, vous pouvez utiliser des activités de tiers ou, si nécessaire, implémenter votre propre code .NET Framework dans CodeActivity. Conseil Si votre fonctionnalité de processus de génération personnalisée peut être écrite dans un fichier de commandes Windows ou un script PowerShell, vous pouvez télécharger votre script et l'exécuter dans le cadre de votre processus de génération.Cette approche peut s'avérer plus rapide et plus simple que la création d'un processus de génération personnalisé.Consultez Exécuter un script dans votre processus de génération.
|
Créer une activité de processus de génération personnalisée
Important
Avant de commencer, obtenez une copie du modèle et insérez-la dans un projet de code.Si vous ne l'avez pas déjà fait, voici comment procéder.
Vous devez développer votre activité de processus de génération dans la même solution que les modèles de processus de génération.De cette façon, lorsque vous devez utiliser l'une de vos activités dans votre modèle de processus, l'activité est disponible dans la boîte à outils du concepteur de flux de travail.Toutefois, vous devez conserver le code source pour vos activités dans un projet de code différent de celui qui contient vos modèles de processus de génération.
Ajoutez un nouveau projet de code C# ou Visual Basic à la solution contenant votre projet de code de modèle de processus de génération.
Ajoutez les références suivantes à votre nouveau projet de code :
Comment puis-je ajouter ces références au projet de code ?
Enregistrer le projet de code.
Ajoutez une nouvelle activité au projet.
Implémentez votre CodeActivity Par exemple, Hello.cs :
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Activities; using Microsoft.TeamFoundation.Build.Workflow.Activities; using Microsoft.TeamFoundation.Build.Client; using Microsoft.TeamFoundation.Build.Workflow.Tracking; namespace BuildProcessSource { // enable the build process template to load the activity [BuildActivity(HostEnvironmentOption.All)] // keep the internal activity operations from appearing in the log [ActivityTracking(ActivityTrackingOption.ActivityOnly)] public sealed class Hello : CodeActivity { // Define an activity input argument of type string public InArgument<string> SayHelloTo { get; set; } // If your activity returns a value, derive from CodeActivity<TResult> // and return the value from the Execute method. protected override void Execute(CodeActivityContext context) { // Obtain the runtime value of the Text input argument string text = context.GetValue(this.SayHelloTo); // Add our default value if we did not get one if (text == null || text == "") { text = "World"; } // Write the message to the log context.TrackBuildWarning("Hello " + text, BuildMessageImportance.High); } } }
Vous n'avez pas besoin du fichier Activity1.xaml. Si vous le souhaitez, vous pouvez le supprimer.
Générez votre solution dans Visual Studio (raccourci clavier : Ctrl + Maj + B).
Lorsque vous avez terminé, votre solution doit se présenter comme suit :
Modifier votre modèle de processus de génération
Dans votre solution, modifiez votre modèle de processus de génération en y faisant glisser des activités. Une fois l'activité ajoutée au modèle, définissez ses propriétés (raccourci clavier : F4).
Lorsque vous avez terminé, enregistrez le modèle.
Télécharger votre processus de génération personnalisé
Avant de pouvoir définir une build qui utilise votre modèle et votre activité de processus de génération personnalisé, vous devez les télécharger et les activer.
Télécharger et activer votre processus de génération personnalisé dans un projet d'équipe TFVC
Télécharger et activer votre processus de génération personnalisé dans un projet d'équipe Git
Téléchargez votre processus de génération personnalisé dans un projet d'équipe TFVC
Dans un projet d'équipe TFVC :
Assurez-vous d'avoir créé votre solution (raccourci Ctrl+Maj+B).
Connectez-vous (raccourci clavier : Ctrl+0, C) au projet d'équipe dans lequel vous envisagez d'enregistrer la source du processus de génération.
Dans l'Explorateur du contrôle de code source, ajoutez des éléments au dossier qui contient votre projet de code d'activité.
Accédez au dossier contenant le fichier .dll et sélectionnez-le. Par exemple, C:\Users\YourName\Source\Workspaces\FabrikamTFVC\BuildProcessTemplates\BuildProcessSource\Source\bin\Debug.
Terminez le processus pour ajouter le fichier.
Archiver vos modifications.
Téléchargez votre processus de génération personnalisé dans un projet d'équipe Git
Dans un projet d'équipe Git :
Important :
Le stockage des fichiers binaires (notamment les nombreuses révisions des fichiers volumineux) peut énormément augmenter la taille de votre référentiel Git. Nous vous conseillons de stocker les fichiers binaires de votre processus de génération personnalisé dans un référentiel distinct du code à partir duquel vous générez votre application. Vous pouvez créer un projet d'équipe distinct à cet effet, ou créer un référentiel supplémentaire dans votre projet d'équipe existant.
Vous devez stocker vos fichiers binaires dans un sous-dossier du référentiel Git. Si vous essayez d'utiliser des fichiers binaires dans le dossier racine, vous pouvez être bloqué par un message d'erreur indiquant que la branche Git est introuvable.
Assurez-vous d'avoir créé votre solution (raccourci Ctrl+Maj+B).
Connectez-vous (raccourci clavier : Ctrl+0, C) au projet d'équipe dans lequel vous envisagez d'enregistrer la source du processus de génération.
Ouvrez l'invite de commandes Git.
Q : Je n'arrive pas à ouvrir l'invite de commandes. Que dois-je faire ? R : Activez l'invite de commandes Git.
Utilisez l'invite de commandes Git pour ajouter le fichier .dll. Par exemple :
cd c:\users\YourName\source\repos\BuildProcesses\BuildProcessSource\Source\bin\Debug git add Source.dll -f
Validez vos modifications.
Synchronisez ou appliquez votre validation.
Activer votre processus de génération personnalisé
Avant de pouvoir exécuter votre processus de génération personnalisé, vous devez pointer le contrôleur de build vers les fichiers binaires que vous avez téléchargés dans TFS et sélectionner le modèle de processus de génération dans votre définition de build.
Sur la page de builds (raccourci clavier : Ctrl+0, B), choisissez Actions, puis Gérer les contrôleurs de build.
Dans la boîte de dialogue Gérer les contrôleurs de build, mettez le contrôleur que vous utiliserez en surbrillance pour exécuter ce processus de génération, puis sélectionnez Propriétés.
Spécifiez le chemin d'accès du contrôle de version vers les assemblys personnalisés.
Recherchez un dossier qui est un ancêtre du dossier dans lequel vous avez téléchargé votre processus de génération comme l'indique la procédure ci-dessus.
Exemple TFVC : $/FabrikamTFVC/BuildProcessTemplates/BuildProcessSource/Source/bin/Debug
Exemple Git : BuildProcessSource/Source/Bin/Debug
Le système convertit automatiquement la valeur que vous entrez dans un chemin d'accès vstfs. Par exemple : vstfs:///Git/VersionedItem/FabrikamGit/BuildProcesses/master/BuildProcessSource/Source/Bin/Debug.
Si vous ne l'avez pas déjà fait, créez ou modifiez une définition de build et sélectionnez votre modèle de processus de génération personnalisé.
Exécuter la génération
Placez la build en file d'attente. Le résultat doit se présenter de la manière suivante :
Q et R
Q : J'ai été bloqué par le système car je ne possède pas l'autorisation requise.Comment puis-je l'obtenir ?
R : Référence des autorisations pour Team Foundation Server
Q : Comment puis-je ajouter les références dont j'ai besoin pour utiliser le flux de travail TFBuild ?
R : Utilisez le gestionnaire de références pour ajouter des références à
Affichez les références du projet de code et ouvrez le gestionnaire de références.
Accédez à C:\Program files (x86)\Microsoft Visual Studio 12,0\Common7\IDE\ReferenceAssemblies\v2.0, puis sélectionnez et ajoutez :
Q : Qu'est-ce qui provoque des erreurs dans mon processus de génération personnalisé ?
R : Quelques causes courantes d'erreurs.
Q : Qu'est-ce que Windows Communication Foundation ?Comment l'utiliser ?
R : Windows Workflow Foundation.
Q : Où puis-je en savoir plus sur les activités intégrées ?
R : Activités Team Foundation Build
Q : Où puis-je obtenir des modèles de processus de génération, des activités de flux de travail et des scripts ?
R : Community TFS Build Extensions
Q : Où puis-je obtenir davantage d'informations sur le développement de processus de génération personnalisés ?
R : Réponse organisée : personnalisez votre processus Team Foundation Build