Procedura: distribuire il progetto di database SQL utilizzando Team System Build 2010 (beta 2)

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

Domanda

Qualcuno può fare luce su come ottenere Team Build 2010 beta 2 per inviare un progetto di database SQL al server SQL?

In VSTS 2008 aggiungeresti semplicemente i comandi MSBuild con l'attributo target impostato su " deploy " nel file TFSBuild.proj, ma ho qualche problema a tradurlo nella nuova cosa xaml basata sul flusso di lavoro che il 2010 utilizza.

Quello che sto cercando è come attivare l'effettiva distribuzione dei database stessi. Sta già generando bene gli script di distribuzione.

È stato utile?

Soluzione

Per chiunque sia ancora alla ricerca della risposta, utilizzare un processo Invoke che utilizza vsdbcmd.exe: http://msdn.microsoft.com/en-us/library/ff805001.aspx

Altri suggerimenti

Ecco un esempio:

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

È possibile che manchi semplicemente DeployToDatabase = true

Esiste un'altra soluzione a questo problema se non è necessario l'aggiornamento incrementale del database. Quindi, se ricreare il database per ogni build è corretto, funzionerebbe anche il seguente.

Aggiungi una destinazione di distribuzione al file di progetto del database

Configura le impostazioni di distribuzione per & # 8216; Impostazioni del mio progetto & # 8217 ;. Tali impostazioni verranno quindi utilizzate dal server di compilazione durante la creazione della soluzione. Quando crei localmente, le impostazioni utilizzate saranno quelle di & # 8216; Il mio ambiente di sviluppo isolato & # 8217 ;.

  1. Nelle proprietà del progetto del database

L'azione di distribuzione deve essere & # 8216; Creare uno script di distribuzione (.sql) e distribuire il database & # 8217 ;; questo impedirà l'esecuzione dello script, lo creerà solo.

  1. File di progetto del database

Modifica il file di progetto del database (fai clic con il pulsante destro del mouse sul progetto del database, seleziona Scarica, fai nuovamente clic con il pulsante destro del mouse, seleziona Modifica [Nome progetto] .dbproj) da

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

Per

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

Quando il server Build crea la soluzione contenente il progetto del database, l'aggiunta delle destinazioni predefinite distribuirà anche il database. Questa build utilizzerà le impostazioni di distribuzione selezionate per & # 8216; Impostazioni del mio progetto & # 8217 ;.

Pro

  • Facile da configurare

Contro

  • Poiché la destinazione predefinita viene modificata in Build and Deploy, quando uno sviluppatore esegue una ricostruzione locale della soluzione, distribuirà anche il database (solo la creazione non attiverà la distribuzione)

La cosa più vicina che ho trovato finora è questo post di Jim Lamb (il Team Foundation PM di Microsoft).

Qui parla vagamente della creazione di un file proj personalizzato e della modifica del modello di processo di compilazione predefinito per invocare il file proj.

Parla anche dell'utilizzo del modello di aggiornamento, che avevo precedentemente ignorato. Apparentemente il modello di aggiornamento può essere usato per invocare una definizione di build 2008. Preferirei non invocare e definire l'intera build in base al file proj legacy, ma almeno è un'opzione.

Nessuno dei due argomenti contiene informazioni sufficienti per poter effettivamente apportare le modifiche necessarie, ma mi dà un ragionevole punto di partenza per alcune sperimentazioni future.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top