Partager via


Procédure pas à pas : définir un flux de travail personnalisé pour déployer une base de données à partir de Team Foundation Build

Pour pouvoir déployer un projet de base de données à l'aide de Team Foundation Build, vous devez d'abord définir un flux de travail personnalisé configuré pour déployer une base de données. Vous devez définir un flux de travail personnalisé pour pouvoir utiliser cette définition de flux de travail dans une définition de build. Vous définissez le flux de travail à l'aide de Windows Workflow 4.0. Cette procédure est simple et ne requiert aucune connaissance approfondie.

Pour effectuer cette procédure pas à pas, vous devez réaliser les tâches suivantes :

  1. Créer un modèle de processus de génération

  2. Personnaliser le nouveau modèle

  3. Archiver le modèle dans le contrôle de version

Autorisations requises

Pour effectuer les procédures suivantes, votre autorisation Modifier la définition de build doit avoir la valeur Autoriser. Pour plus d'informations, consultez Autorisations de Team Foundation Server.

Créer un modèle de processus de génération

La méthode la plus simple pour créer un modèle de processus de génération consiste à copier le modèle par défaut. Vous pouvez faire cela lorsque vous créez une définition de build. Normalement, vous effectuez la définition de build. Toutefois, étant donné que cette procédure pas à pas concerne principalement le modèle de processus de génération personnalisée, elle ne traite pas les autres détails concernant la définition d'une nouvelle build. Pour plus d'informations sur la définition d'une build pour votre projet de base de données, consultez Comment : déployer des modifications à l'aide de Team Foundation Build.

Pour créer un modèle personnalisé

  1. Dans Team Explorer, cliquez sur le projet d'équipe dans lequel vous souhaitez créer le flux de travail personnalisé.

  2. Dans le menu Générer, cliquez sur Nouvelle définition de build.

  3. Cliquez sur l'onglet Processus pour afficher le diagramme suivant.

    Onglet Processus pour une nouvelle définition de build

  4. Cliquez sur Afficher les détails, puis sur Nouveau.

    La boîte de dialogue Nouveau modèle de processus de génération apparaît.

  5. Cliquez sur Copier un fichier XAML.

  6. Dans Nouveau nom de fichier, spécifiez le nom du flux de travail personnalisé, puis cliquez sur OK.

    Notes

    Si vous souhaitez réutiliser un fichier XAML existant, vous pouvez cliquer sur Sélectionner un fichier XAML, puis spécifier le chemin d'accès du fichier sur votre serveur de contrôle de version.

  7. Dans la fenêtre de définition de build, sous le menu Fichier de processus de génération, cliquez sur le lien hypertexte qui contient le nom de votre modèle.

    Le dossier qui contient votre nouveau modèle s'affiche dans l'Explorateur du contrôle de code source.

  8. Dans le volet Dossiers, cliquez avec le bouton droit sur le dossier qui contient votre nouveau modèle, puis cliquez sur Obtenir la dernière version.

  9. Cliquez avec le bouton droit sur votre nouveau modèle, puis cliquez sur Extraire pour modification.

    La boîte de dialogue Extraire s'affiche.

  10. Cliquez sur Extraire.

  11. Cliquez avec le bouton droit sur votre nouveau modèle, puis cliquez sur Afficher.

    Visual Studio Windows Workflow Designer apparaît.

    Pour plus d'informations, consultez l'une des rubriques suivantes :

Personnaliser le nouveau modèle

Vous devez ajouter une séquence au modèle par défaut pour ajouter une étape de déploiement à la fin de votre processus de génération. Vous personnalisez le fichier XAML à l'aide du Windows Workflow Designer. Même si vous n'avez jamais utilisé ce concepteur, vous devriez pouvoir effectuer les étapes de la procédure suivante facilement. Pour résumer, vous ajoutez une séquence au flux de travail dans lequel vous déploierez votre base de données à l'aide de VSDBCMD.EXE si votre génération et vos tests ont réussi.

Cette séquence contient une activité If unique qui déploiera votre base de données si votre génération a réussi et si vos tests sont concluants ou si aucun test n'est prévu. Pour que cette définition soit plus facile à suivre, cette section est divisée en quatre procédures :

  1. Pour ajouter une séquence de déploiement de base de données à votre flux de travail

  2. Pour ajouter l'activité If

  3. Pour définir le bloc Then Deploy

  4. Pour définir le bloc Else Skip Deployment

Pour ajouter une séquence de déploiement de base de données à votre flux de travail

  1. Dans Windows Workflow Designer, cliquez sur Réduire tout.

    Le diagramme suivant s'affiche.

    Workflow de déploiement initial

  2. Ouvrez la Boîte à outils, développez la section Flux de contrôle, puis faites glisser l'activité Sequence sur la flèche du concepteur se trouvant sous Archiver les modifications contrôlées pour les builds de jeux de réservations archivées. Si vous faites une pause au-dessus de la flèche, une seconde flèche s'affiche.

  3. Placez l'activité entre ces deux flèches, comme illustré dans le diagramme suivant.

    Workflow après suppression d'une nouvelle séquence

  4. Cliquez avec le bouton droit sur la séquence que vous venez d'ajouter, puis cliquez sur Propriétés.

    La fenêtre Propriétés s'affiche.

  5. Définissez la propriété DisplayName sur Deploy Database.

  6. Dans la séquence Deploy Database, double-cliquez sur Double-cliquer pour afficher.

    Le concepteur effectue un zoom avant sur la séquence Deploy Database, comme illustré dans le diagramme suivant.

    Workflow après développement de la séquence de déploiement

    Un canal de navigation est disponible en haut du concepteur, comme illustré dans le diagramme suivant.

    Canal de navigation dans Windows Workflow Designer

Ensuite, vous ajoutez une activité If à la séquence de déploiement.

Pour ajouter l'activité If

  1. Ouvrez la Boîte à outils, développez la section Flux de contrôle et faites glisser l'activité If sur Déposer l'activité ici.

    Une icône d'avertissement s'affiche à la fois sur la séquence Deploy Database et l'activité If parce que vous n'avez pas encore configuré l'activité If, comme illustré dans le diagramme suivant.

    Workflow après l'ajout de l'activité If

  2. Cliquez avec le bouton droit sur l'activité que vous venez d'ajouter, puis cliquez sur Propriétés.

    La fenêtre Propriétés s'affiche.

  3. Définissez la propriété DisplayName de l'activité If sur If Build and Tests Succeeded.

  4. Double-cliquez sur Double-cliquer pour afficher dans l'activité If.

  5. Dans Condition, tapez la condition suivante.

    BuildDetail.CompilationStatus = BuildPhaseStatus.Succeeded And (BuildDetail.TestStatus = BuildPhaseStatus.Succeeded Or BuildDetail.TestStatus = BuildPhaseStatus.Unknown)
    

    Cette condition teste si la génération a réussi et si les tests sont concluants ou si aucun test n'a été exécuté.

L'activité If Build and Tests Succeeded ressemble au diagramme suivant.

Workflow une fois l'activité If développée

Ensuite, vous ajoutez une activité Invoke Process à la partie Then de l'activité If.

Pour définir le bloc Then Deploy

  1. Ouvrez la Boîte à outils, accédez à l'activité InvokeProcess dans la section Team Foundation Build Activities, puis faites-la glisser sur Déposer l'activité ici dans la clause Then.

    Une icône d'avertissement s'affiche à la fois sur l'activité If Build and Tests Succeeded et l'activité InvokeProcess parce que vous n'avez pas encore configuré l'activité InvokeProcess.

  2. Double-cliquez sur Double-cliquer pour afficher dans l'activité Invoke VSDBCMD.

    L'activité apparaît comme suit.

    Workflow pendant la définition de la clause Then

  3. Définissez les propriétés pour l'activité InvokeProcess en exécutant les sous-tâches suivantes :

    1. Cliquez avec le bouton droit sur l'activité que vous venez d'ajouter, puis cliquez sur Propriétés.

      La fenêtre Propriétés s'affiche.

    2. Définissez la propriété DisplayName de l'activité InvokeProcess sur Invoke VSDBCMD.

    3. Définissez la propriété Arguments sur "/a:Deploy /dd+ /dsp:Sql /manifest:DatabaseProjectName.deploymanifest". Vous devez remplacer DatabaseProjectName par le nom du projet de base de données que vous souhaitez déployer.

    4. Définissez la propriété FileName sur le chemin d'accès de VSDBCMD.EXE sur votre serveur de builds. Par exemple, vous pouvez spécifier C:\Program Files\Microsoft Visual Studio 10.0\VSTSDB\Deploy\VSDBCMD.EXE si vous avez installé Visual Studio sur votre ordinateur de build ou C:\Deploy\VSDBCMD.EXE si vous venez de copier le dossier Deploy sur votre ordinateur de build.

      Important

      Pour déployer votre base de données à l'aide de VSDBCMD.EXE, le contenu du dossier Deploy doit se trouver sur votre ordinateur de build. Pour plus d'informations, consultez Comment : préparer une base de données pour un déploiement à partir d'une invite de commandes à l'aide de VSDBCMD.EXE.

    5. Définissez la propriété WorkingDirectory sur BuildDetail.DropLocation.

  4. Ouvrez la Boîte à outils, accédez à l'activité WriteBuildMessage dans la section Team Foundation Build Activities et faites-la glisser sur Déposer l'activité ici dans la section Handle Standard Output.

    Une icône d'avertissement s'affiche à la fois sur l'activité Invoke VSDBCMD et l'activité WriteBuildMessage parce que vous n'avez pas encore configuré l'activité WriteBuildMessage.

  5. Définissez les propriétés de l'activité WriteBuildMessage en exécutant les sous-tâches suivantes :

    1. Cliquez avec le bouton droit sur l'activité que vous venez d'ajouter, puis cliquez sur Propriétés.

      La fenêtre Propriétés s'affiche.

    2. Définissez la propriété DisplayName de l'activité WriteBuildMessage sur VSDBCMD Output.

    3. Définissez la propriété Importance sur Microsoft.TeamFoundation.Build.Client.BuildMessageImportance.High.

    4. Définissez la propriété Message sur stdOutput.

  6. Ouvrez la Boîte à outils, accédez à l'activité WriteBuildError dans la section Team Foundation Build Activities et faites-la glisser sur Déposer l'activité ici dans la section Handle Error Output.

    Une icône d'avertissement s'affiche à la fois sur l'activité Invoke VSDBCMD et l'activité WriteBuildError parce que vous n'avez pas encore configuré l'activité WriteBuildError.

  7. Définissez les propriétés de l'activité WriteBuildError en exécutant les sous-tâches suivantes :

    1. Cliquez avec le bouton droit sur l'activité que vous venez d'ajouter, puis cliquez sur Propriétés.

      La fenêtre Propriétés s'affiche.

    2. Définissez la propriété DisplayName de l'activité WriteBuildError sur VSDBCMD Error.

    3. Définissez la propriété Message sur errOutput.

    4. Dans le canal situé en haut du concepteur, cliquez sur If Build and Test Succeeded.

      Cela vous permet de reculer d'un niveau dans le flux de travail.

À ce stade, le flux de travail s'affiche comme illustré dans le diagramme suivant.

Workflow une fois la clause Then terminée

Ensuite, vous définissez les détails de l'activité Else.

Pour définir le bloc Else Skip Deployment

  1. Ouvrez la Boîte à outils, accédez à l'activité WriteBuildWarning dans la section Team Foundation Build Activities, puis faites-la glisser sur Déposer l'activité ici dans la clause Else.

    Une icône d'avertissement s'affiche à la fois sur l'activité If Build and Tests Succeeded et l'activité WriteBuildWarning parce que vous n'avez pas encore configuré l'activité WriteBuildWarning.

  2. Définissez la propriété DisplayName de l'activité WriteBuildWarning sur Deployment Skipped.

  3. Définissez la propriété Message sur « Database deployment was skipped ».

    Les icônes d'avertissement ne s'affichent plus parce que vous avez configuré les activités de flux de travail que vous avez ajoutées.

L'activité If doit maintenant s'afficher comme illustré dans le diagramme suivant.

Effectuer le Workflow de déploiement de base de données

Vous avez mis à jour le flux de travail de génération pour déployer le projet de base de données spécifié. À présent, il vous suffit d'archiver le modèle dans le contrôle de version pour pouvoir l'utiliser dans votre processus de génération.

Archiver le modèle dans le contrôle de version

Pour pouvoir utiliser le flux de travail dans une définition de build, vous devez d'abord l'archiver dans le contrôle de version. Vous pouvez également tirer parti des fonctionnalités du contrôle de version, telles que la création de branches. Vous pouvez créer une branche pour votre flux de travail lorsque vous en créez une pour votre projet.

  1. Enregistrez votre flux de travail et fermez le concepteur.

  2. Dans l'Explorateur du contrôle de code source, cliquez avec le bouton droit sur votre nouveau modèle, puis cliquez sur Archiver les modifications en attente.

    La boîte de dialogue Archiver s'affiche.

  3. (Facultatif) Vous pouvez spécifier des commentaires d'archivage ou des informations supplémentaires concernant la modification. Pour plus d'informations, consultez les rubriques suivantes :

  4. Cliquez sur Archiver.

Maintenant, vous pouvez définir une build qui utilise le flux de travail personnalisé que vous avez construit au cours de cette procédure pas à pas. Pour plus d'informations, consultez Comment : déployer des modifications à l'aide de Team Foundation Build.

Étapes suivantes

Vous devez maintenant tester votre modèle personnalisé. Pour plus d'informations, consultez Comment : déployer des modifications à l'aide de Team Foundation Build.

Voir aussi

Tâches

Comment : préparer une base de données pour un déploiement à partir d'une invite de commandes à l'aide de VSDBCMD.EXE

Comment : déployer des modifications vers des bases de données nouvelles ou existantes

Concepts

Vue d'ensemble de la génération et du déploiement d'une base de données

Historique des modifications

Date

Historique

Motif

Juillet 2010

Rubrique ajoutée pour expliquer comment créer un flux de travail personnalisé pour déployer une base de données à l'aide de Team Foundation Build.

Améliorations apportées aux informations.