Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez aussi afficher la version anglaise dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte.
Traduction
Anglais
Nous recommandons d’utiliser Visual Studio 2017

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

Visual Studio 2013
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 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.

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

Remarque importante 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é

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.

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.

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

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

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é

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

Afficher: