Condividi tramite


Procedura: distribuire modifiche con Team Foundation Build

Aggiornamento: novembre 2007

È possibile compilare e distribuire il database in Visual Studio tramite MSBuild o Team Foundation Build. Se si desidera compilare e distribuire il progetto di database in un ambiente di laboratorio di compilazione, utilizzare Team Foundation Build. Per utilizzare Team Foundation Build, è necessario che il prodotto sia installato nel computer. Per ulteriori informazioni, vedere Cenni preliminari su Team Foundation Build.

Di seguito è illustrato il processo di distribuzione delle modifiche tramite Team Foundation Build:

  • Creare una definizione di compilazione.

  • Modificare manualmente il file del progetto di compilazione per eseguire l'override della destinazione AfterDropBuild standard.

  • Modificare manualmente il file del progetto di database per specificare il database di destinazione e la relativa connessione.

  • Archiviare i file aggiornati.

  • Utilizzare la nuova definizione di compilazione per distribuire il progetto di database.

Prima di distribuire le modifiche tramite Team Foundation Build, è necessario:

  • Disporre di un progetto di database con le proprietà impostate.

  • Archiviare il progetto di database nel controllo delle versioni.

Nota:

Prima di poter compilare un progetto di database, è necessario configurare l'istanza del database di convalida della fase di progettazione per l'account del servizio nel computer in cui viene eseguito Team Foundation Build. È possibile configurare l'istanza eseguendo Visual Studio come account del servizio nel computer di compilazione. In alternativa, è possibile utilizzare la riga di comando riportata di seguito per creare la voce del Registro di sistema necessaria, sostituendo i segnaposto con i nomi per la configurazione:

Runas /user:[DOMAIN\NomeUtenteServizioCompilazione] "REG ADD HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\9.0\DBPro\DialogPage\Microsoft.VisualStudio.TeamSystem.Data.DBProject.Settings.DataConnectionOptionsSettings /v NomeSQLServer /d [NomeIstanzaLocale]"

Creazione di una definizione di compilazione

Per creare una definizione di compilazione

  1. Aprire Visual Studio con Team Explorer.

  2. Aprire la soluzione contenente il progetto di database da distribuire.

  3. Creare una definizione di compilazione. Per ulteriori informazioni, vedere la classe Procedura: creare una definizione di compilazione. Quando si crea la definizione di compilazione, specificare la soluzione corrente da compilare. Se non è stata creata una configurazione di progetto personalizzata, fare clic sulla configurazione predefinita.

    A questo punto, sarà necessario modificare il file BuildDefinition.proj.

Modifica del file del progetto di compilazione

Per distribuire il progetto di database, è necessario eseguire l'override della destinazione AfterDropBuild con l'attività SqlDeploy.

Per modificare il file del progetto di compilazione

  1. Estrarre il file BuildDefinition.proj dal controllo delle versioni. Se si utilizza Controllo della versione di Team Foundation, aprire Esplora controllo del codice sorgente, espandere il progetto di team e quindi la cartella TeamBuildTypes per individuare i file del progetto di compilazione.

  2. Aprire il file BuildDefinition.proj nell'editor desiderato.

  3. Aggiungere il codice seguente alla fine del file tra gli elementi </ItemGroup> e </Project>:

    <Target Name="AfterDropBuild">
      <MSBuild Projects="$(SolutionRoot)\SolutionName\ProjectName\ProjectName.dbproj" Properties="Configuration=Default;OutDir=$(SolutionRoot)\..\binaries\Default\" Targets="Deploy" />
    </Target>
    

    Sostituire SolutionName con il nome della soluzione contenente il progetto di database e ProjectName con il nome del progetto di database. Se non si utilizza la configurazione predefinita per il progetto di database, sostituire Default con il nome della configurazione di progetto appropriata in Configuration e in OutDir.

    Team Foundation Build copia i file in una destinazione finale che è generalmente una condivisione di rete. Se si desidera distribuire il database da tale percorso anziché dal computer di compilazione, è necessario utilizzare gli elementi seguenti:

    <Target Name="AfterDropBuild">
      <MSBuild Projects="$(SolutionRoot)\SolutionName\ProjectName\ ProjectName.dbproj" Properties="Configuration=Release;OutDir=$(DropLocation)\$(BuildNumber)\Release\" Targets="Deploy"/>
    </Target>
    
  4. Salvare le modifiche apportate a BuildDefinition.Proj.

Modifica del file di progetto di database

Il database di destinazione e la relativa connessione vengono archiviati nel file ProjectName.dbproj.user, specifico dell'utente e che non viene in genere archiviato nel controllo delle versioni. Tali impostazioni sono richieste per la distribuzione del database. È pertanto necessario modificare manualmente il file ProjectName.dbproj per specificare il database di destinazione e la relativa connessione.

Per modificare il file del progetto di database

  1. Estrarre il file ProjectName.dbproj dal sistema di controllo delle versioni.

  2. Scegliere Chiudi soluzione dal menu File. Questo passaggio è necessario perché non è possibile modificare un file di progetto incluso in una soluzione aperta.

  3. Scegliere Apri dal menu File e quindi scegliere File.

  4. Individuare la cartella contenente il file del progetto di database (ProjectName.dbproj), quindi fare doppio clic su ProjectName.dbproj.user.

  5. Copiare le righe contenenti le definizioni delle proprietà Database di destinazione e Stringa di connessione di destinazione dalla sezione del file ProjectName.dbproj.user relative alla configurazione che si desidera compilare. Tali righe sono simili alle seguenti:

    <TargetDatabase>MyTargetDatabaseName</TargetDatabase>
    <TargetConnectionString>Data Source=ServerName\InstanceName;Integrated Security=True;Pooling=False</TargetConnectionString>
    
    Nota:

    Se non si specifica il nome di un database di destinazione, verrà utilizzato il nome del progetto di database.

  6. Copiare tali voci negli Appunti.

  7. Scegliere Apri dal menu File e quindi scegliere File.

  8. Individuare la cartella contenente il file del progetto di database (ProjectName.dbproj), quindi fare doppio clic su ProjectName.dbproj.

  9. Scorrere il file verso il basso fino a individuare la sezione PropertyGroup relativa alla configurazione che si desidera distribuire tramite Team Foundation Build.

  10. Incollare nel file di progetto le voci copiate negli Appunti. Se TargetDatabase e TargetConnectionString contengono già elementi vuoti, sovrascriverli.

  11. Scegliere SalvaProjectName.dbproj dal menu File.

Archiviazione dei file aggiornati

In Team Foundation Build viene utilizzata la versione del progetto di database archiviata nel controllo delle versioni. Prima di utilizzare tale versione per distribuire il database, è necessario archiviare le modifiche apportate ai file del progetto di compilazione e del progetto di database.

Per archiviare i file aggiornati

  1. Scegliere Controllo del codice sorgente dal menu File, quindi Archivia modifiche in sospeso.

  2. Attenersi alle istruzioni del sistema di controllo delle versioni per completare l'archiviazione del progetto di compilazione e del file del progetto di database.

Distribuzione del database

A questo punto, è stata configurata la definizione di compilazione e impostato il progetto di database per l'utilizzo con Team Foundation Build, è possibile eseguire una compilazione di prova per verificare la corretta distribuzione del database.

Per distribuire il database

  1. In Team Explorer espandere la cartella Team Build, fare clic con il pulsante destro del mouse sulla definizione di compilazione creata per distribuire il progetto di database, quindi scegliere Accoda buildNomeProgettoTeam.

    Verrà visualizzata la finestra di dialogo Compilazione.

  2. Controllare che i valori dei campi Definizione di compilazione, Agente di compilazione e Cartella di ricezione per la compilazione siano corretti e quindi fare clic su Accoda.

    Viene visualizzata la scheda In coda di Build Explorer. Per ulteriori informazioni, vedere la classe Informazioni su Esplora compilazione di Team Foundation.

Vedere anche

Attività

Procedura: eseguire unit test del database da Team Foundation Build

Concetti

Cenni preliminari su Team Foundation Build

Cenni preliminari sui processi di generazione e distribuzione di database

Panoramica sulla terminologia di Database Edition

Altre risorse

Procedura: configurare i progetti di database per la generazione e la distribuzione