Comment: déployer un projet de base de données SQL à l'aide de Team System Build 2010 (beta 2)

StackOverflow https://stackoverflow.com/questions/1632965

Question

Quelqu'un peut-il expliquer comment faire en sorte que Team Build 2010 beta 2 envoie un projet de base de données SQL au serveur SQL?

Dans VSTS 2008, il vous suffisait d'ajouter des commandes MSBuild avec l'attribut cibles défini sur " deploy " dans le fichier TFSBuild.proj, mais j’ai un peu de difficulté à traduire cela dans le nouveau fichier xaml basé sur le flux de travail que 2010 utilise.

Ce que je cherche, c'est comment déclencher le déploiement réel des bases de données elles-mêmes. Il génère déjà les scripts de déploiement très bien.

Était-ce utile?

La solution

Pour ceux qui cherchent toujours la réponse, utilisez un processus d’appel qui utilise vsdbcmd.exe: http://msdn.microsoft.com/en-us/library/ff805001.aspx

Autres conseils

Voici un exemple:

http://www.nablasoft.com/alkampfer/index.php/2009/10/06/deploy-a-database-project-with-tfs-build/

Il se peut que vous manquiez simplement de DeployToDatabase = true

Il existe une autre solution à ce problème si vous n'avez pas besoin d'une mise à niveau incrémentielle de la base de données. Donc, si vous êtes en mesure de recréer la base de données pour chaque construction, ceci fonctionnera également.

Ajouter une cible de déploiement au fichier de projet de base de données

Configurez les paramètres de déploiement pour ‘ Paramètres de mon projet '. Ces paramètres seront ensuite utilisés par le serveur de génération lors de la génération de la solution. Lors de la création locale, les paramètres utilisés seront ceux de ‘ Mon environnement de développement isolé ’.

  1. Dans les propriétés du projet de base de données

L'action de déploiement doit être ‘. Créez un script de déploiement (.sql) et déployez la base de données '; cela empêchera l'exécution du script, il ne fera que le créer.

  1. Fichier de projet de base de données

Modifiez le fichier de projet de base de données (cliquez avec le bouton droit de la souris sur le projet de base de données, sélectionnez Décharger, cliquez à nouveau avec le bouton droit de la souris, sélectionnez Modifier [Nom du projet] .dbproj). de

<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">

Pour

<Project DefaultTargets="Build;Deploy" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">

Lorsque le serveur de build crée la solution contenant le projet de base de données, l'ajout des cibles par défaut déploie également la base de données. Cette version utilisera les paramètres de déploiement sélectionnés pour ‘ Paramètres de mon projet ’.

Avantages

  • Facile à configurer

Contre

  • Etant donné que la cible par défaut est modifiée pour créer et déployer, lorsqu'un développeur procède à une reconstruction locale de la solution, il déploie également la base de données (la construction ne déclenchera pas le déploiement uniquement)

La chose la plus proche que j'ai trouvée jusqu'à présent est ce message de Jim Lamb (Team Foundation PM chez Microsoft).

Il parle ici vaguement de la création d'un fichier proj personnalisé et de la modification du modèle de processus de construction par défaut pour appeler le fichier proj.

Il a également parlé de l'utilisation du modèle de mise à niveau, que j'avais précédemment ignoré. Apparemment, le modèle de mise à niveau peut être utilisé pour appeler une définition de génération 2008. Je préférerais ne pas invoquer ni définir la totalité de la construction en fonction du fichier proj hérité, mais au moins c'est une option.

Aucun de ces sujets ne contient suffisamment d'informations pour que je puisse apporter les modifications nécessaires, mais cela me donne un point de départ raisonnable pour des expériences futures.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top