Pregunta

¿Alguien puede arrojar algo de luz sobre cómo hacer que Team Build 2010 beta 2 envíe un proyecto de base de datos SQL al servidor SQL?

En VSTS 2008, simplemente agregaría comandos de MSBuild con el atributo de destino establecido en " deploy " en el archivo TFSBuild.proj, pero tengo algunos problemas para traducir eso al nuevo elemento xaml basado en el flujo de trabajo que usa 2010.

Lo que estoy buscando es cómo activar la implementación real de las bases de datos. Ya está generando los scripts de implementación muy bien.

¿Fue útil?

Solución

Para cualquiera que todavía esté buscando la respuesta, use un Proceso de invocación que use vsdbcmd.exe: http://msdn.microsoft.com/en-us/library/ff805001.aspx

Otros consejos

Aquí hay un ejemplo:

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

Puede ser que simplemente te estés perdiendo DeployToDatabase = true

Hay otra solución a este problema si no necesita una actualización incremental de la base de datos. Entonces, si recrear la base de datos para cada compilación está bien con usted, lo siguiente también funcionaría.

Agregar un destino de implementación al archivo del Proyecto de base de datos

Configure los ajustes de implementación para & # 8216; Configuración de mi proyecto & # 8217 ;. Esa configuración será utilizada por el servidor de compilación al compilar la solución. Cuando se construye localmente, la configuración utilizada será la de & # 8216; Mi entorno de desarrollo aislado & # 8217 ;.

  1. En las propiedades del proyecto de base de datos

La acción de implementación debe ser & # 8216; Crear un script de implementación (.sql) e implementar la base de datos & # 8217 ;; esto evitará la ejecución del script, solo lo creará.

  1. Archivo de proyecto de base de datos

Modifique el archivo del proyecto de la base de datos (haga clic con el botón derecho en el proyecto de la base de datos, seleccione Descargar, haga clic con el botón derecho nuevamente, seleccione Editar [Nombre del proyecto] .dbproj) de

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

Para

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

Cuando el servidor de compilación compila la solución que contiene el proyecto de la base de datos, al agregar los destinos predeterminados también se implementará la base de datos. Esta compilación utilizará la configuración de implementación seleccionada para & # 8216; Configuración de mi proyecto & # 8217 ;.

Pros

  • Fácil de configurar

Contras

  • Debido a que el objetivo predeterminado se cambia a Build and Deploy, cuando un desarrollador realiza una Reconstrucción local de la solución, también implementará la base de datos (la construcción solo no activará la implementación)

Lo más cercano que he encontrado hasta ahora es esta publicación de Jim Lamb (PM del Team Foundation en Microsoft).

Aquí habla vagamente sobre la creación de un archivo de proyecto personalizado y la modificación de la plantilla de proceso de compilación predeterminada para invocar el archivo de proyecto.

También habla sobre el uso de la plantilla de actualización, que previamente había ignorado. Aparentemente, la plantilla de actualización se puede utilizar para invocar una definición de compilación de 2008. Sin embargo, prefiero no invocar y definir toda la compilación basada en el archivo de proyecto heredado, pero al menos es una opción.

Ninguno de los temas contiene información suficiente para que yo pueda hacer las modificaciones necesarias, pero me da un punto de partida razonable para una futura experimentación.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top