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 :
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é
Dans Team Explorer, cliquez sur le projet d'équipe dans lequel vous souhaitez créer le flux de travail personnalisé.
Dans le menu Générer, cliquez sur Nouvelle définition de build.
Cliquez sur l'onglet Processus pour afficher le diagramme suivant.
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.
Cliquez sur Copier un fichier XAML.
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.
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.
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.
Cliquez avec le bouton droit sur votre nouveau modèle, puis cliquez sur Extraire pour modification.
La boîte de dialogue Extraire s'affiche.
Cliquez sur Extraire.
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 :
Pour ajouter une séquence de déploiement de base de données à votre flux de travail
Dans Windows Workflow Designer, cliquez sur Réduire tout.
Le diagramme suivant s'affiche.
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.
Placez l'activité entre ces deux flèches, comme illustré dans le diagramme suivant.
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.
Définissez la propriété DisplayName sur Deploy Database.
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.
Un canal de navigation est disponible en haut du concepteur, comme illustré dans le diagramme suivant.
Ensuite, vous ajoutez une activité If à la séquence de déploiement.
Pour ajouter l'activité If
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.
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.
Définissez la propriété DisplayName de l'activité If sur If Build and Tests Succeeded.
Double-cliquez sur Double-cliquer pour afficher dans l'activité If.
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.
Ensuite, vous ajoutez une activité Invoke Process à la partie Then de l'activité If.
Pour définir le bloc Then Deploy
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.
Double-cliquez sur Double-cliquer pour afficher dans l'activité Invoke VSDBCMD.
L'activité apparaît comme suit.
Définissez les propriétés pour l'activité InvokeProcess en exécutant les sous-tâches suivantes :
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.
Définissez la propriété DisplayName de l'activité InvokeProcess sur Invoke VSDBCMD.
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.
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.
Définissez la propriété WorkingDirectory sur BuildDetail.DropLocation.
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.
Définissez les propriétés de l'activité WriteBuildMessage en exécutant les sous-tâches suivantes :
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.
Définissez la propriété DisplayName de l'activité WriteBuildMessage sur VSDBCMD Output.
Définissez la propriété Importance sur Microsoft.TeamFoundation.Build.Client.BuildMessageImportance.High.
Définissez la propriété Message sur stdOutput.
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.
Définissez les propriétés de l'activité WriteBuildError en exécutant les sous-tâches suivantes :
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.
Définissez la propriété DisplayName de l'activité WriteBuildError sur VSDBCMD Error.
Définissez la propriété Message sur errOutput.
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.
Ensuite, vous définissez les détails de l'activité Else.
Pour définir le bloc Else Skip Deployment
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.
Définissez la propriété DisplayName de l'activité WriteBuildWarning sur Deployment Skipped.
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.
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.
Enregistrez votre flux de travail et fermez le concepteur.
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.
(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 :
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 : 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. |