Utiliser et développer des activités de processus de génération personnalisé

Activité « Hello World » en C#

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

  • Modifier votre modèle de processus de génération

  • Télécharger votre processus de génération personnalisé

    • Icône TFVC Télécharger et activer votre processus de génération personnalisé dans un projet d'équipe TFVC

    • Icône Git Télécharger et activer votre processus de génération personnalisé dans un projet d'équipe Git

  • Activer votre processus de génération personnalisé

  • Exécuter la génération

  • Q et R

« Hello World » dans le résumé de la build

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.

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

    Nouveau projet pour la solution BuildProcessSource

    Nouveau projet

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

  3. Ajoutez une nouvelle activité au projet.

    Nouvel élément pour le projet de code source

    Ajouter un nouvel élément

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

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

Exemple de solution de processus de génération personnalisé

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

Modification d'un modèle de processus de build à partir d'une solution

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.

  • Icône TFVC Télécharger et activer votre processus de génération personnalisé dans un projet d'équipe TFVC

  • Icône Git 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 Icône TFVC TFVC :

  1. Assurez-vous d'avoir créé votre solution (raccourci Ctrl+Maj+B).

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

  3. Dans l'Explorateur du contrôle de code source, ajoutez des éléments au dossier qui contient votre projet de code d'activité.

    Explorateur du contrôle de code source

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

    Ajouter le fichier binaire du processus de build au contrôle de version TFVC

  5. Terminez le processus pour ajouter le fichier.

    Ajouter le fichier binaire du processus de build au contrôle de version TFVC

  6. Archiver vos modifications.

    Modifications en attente

Téléchargez votre processus de génération personnalisé dans un projet d'équipe Git

Dans un projet d'équipe Icône Git Git :

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

  2. Assurez-vous d'avoir créé votre solution (raccourci Ctrl+Maj+B).

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

  4. Ouvrez l'invite de commandes Git.

    Ouvrir l'invite de commandes à partir de la page Modifications

    Q : Je n'arrive pas à ouvrir l'invite de commandes. Que dois-je faire ? R : Activez l'invite de commandes Git.

  5. 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
    
  6. Validez vos modifications.

    Bouton Valider dans la page Modifications

  7. Synchronisez ou appliquez votre validation.

    Lien Synchroniser dans la page Modifications

    Bouton Synchronisation et lien Extraire dans la page Validations non synchronisées

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.

  1. Sur la page de builds (raccourci clavier : Ctrl+0, B), choisissez Actions, puis Gérer les contrôleurs de build.

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

    Boîte de dialogue Gérer les contrôleurs de build

  3. Spécifiez le chemin d'accès du contrôle de version vers les assemblys personnalisés.

    Boîte de dialogue Propriétés du contrôleur de build

    Capture d'écran VisualStudioEllipsesButton 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.

    • Icône TFVC Exemple TFVC : $/FabrikamTFVC/BuildProcessTemplates/BuildProcessSource/Source/bin/Debug

    • Icône Git Exemple Git : BuildProcessSource/Source/Bin/Debug

      Boîte de dialogue Parcourir montrant les valeurs Git

      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.

      Chemin d'accès du contrôle de version vers les assemblys personnalisés

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

    Définition de build avec modèle de processus 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 :

« Hello World » dans le résumé de la build

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.

Menu contextuel Références

Boîte de dialogue 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 :

Boîte de dialogue Sélectionner les fichiers à référencer

Boîte de dialogue Gestionnaire de références

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