2010-05-20 8 views
7

He estado tratando de resolver esto y hasta ahora no he encontrado una solución simple. ¿De verdad es tan difícil implementar un proyecto de base de datos (y un sitio web) usando TFS 2010 como parte del proceso de compilación?¿Cómo despliega un sitio web y un proyecto de base de datos usando TFS 2010?

He encontrado un ejemplo que implicó muchas verificaciones complicadas y la edición del flujo de trabajo (que es un flujo de trabajo gigante por cierto).

Incluso he comprado el libro "gestión profesional del ciclo de vida de las aplicaciones con VS 2010", pero aparentemente los profesionales no despliegan sus aplicaciones ya que ni siquiera se menciona en el libro.

Sé que estoy retrasado cuando se trata de TFS, pero parece que debería haber alguna manera fácil de hacerlo. ¿Esta ahí?

+0

Si tiene problemas con lo que publico a continuación, por favor comenten y lo actualizaré ... ya que es algo nuevo sin mucho que googlear aún, tuve la misma experiencia que al descubrirlo cuando fui a lo largo. Si olvidé algo, me gustaría actualizar la respuesta para incluirla y poder salvar a alguien con la misma experiencia que experimenté ... el precio que pagas por usar las cosas más nuevas, supongo. –

+0

Parece una gran respuesta. Descubrí la implementación de la base de datos, por lo que intentaré implementar aquí tu respuesta un poco; si funciona, me aseguraré de marcarla como la respuesta. ¡Gracias! – Bryant

+0

Relacionados: http://stackoverflow.com/questions/2636153/how-can-i-get-tfs2010-to-run-msdeploy-for-me-through-msbuild – Maslow

Respuesta

7

No puedo hablar por la parte de la base de datos, pero me acaba de pasar por esto en la parte de alma, la parte mágica es not very well documented componente, es decir, los parámetros de MSBuild.

En su definición de construcción:

  1. Proceso de la izquierda
  2. requerido> elementos para construir> Configuraciones para la construcción de
    • editar, añadir uno nuevo, para este ejemplo
      • Configuración: Dev (cubro cómo crear una configuración a continuación)
      • Plataforma: Cualquier CPU
  3. avanzada> Proceso de MSBuild
    • usa los siguientes argumentos (al menos para mí, su método de publicación puede variar).

MSBUILD Parámetros:

/p:MSDeployServiceURL="http://myserver" 
/p:MSDeployPublishMethod=RemoteAgent 
/p:DeployOnBuild=True 
/p:DeployTarget=MsDeployPublish 
/p:CreatePackageOnPublish=True 
/p:username=aduser 
/p:password=adpassword 

Requisitos:

  1. Es necesario instalar el MS Deploy Remote Agent Service en el destino del servidor web, MSDeploy tiene que estar en el Build/implementador servidor también, pero este debería ser el caso por defecto.
  2. La cuenta que utiliza en los parámetros anteriores necesita acceso de administrador, al menos para IIS ... No estoy seguro de cuáles son los requisitos mínimos de permiso.

Usted configura a qué sitio web/directorio virtual va el sitio en el proyecto web que está implementando. Personalmente tengo una configuración de compilación para cada entorno, esto hace que las compilaciones sean muy fáciles de manejar y organizar. Por ejemplo, tenemos Release, Debug y Dev (hay más, pero en este ejemplo así es). Solo el proyecto web tiene una configuración Dev.

Para ello, haga clic derecho en la solución, Administrador de configuración ..., en el proyecto web haga clic en la configuración de menú desplegable, haga clic en Nueva .... Déle un nombre, "Dev" para este ejemplo, copie la configuración de la depuración o versión, lo que coincida más con lo que debería ser su entorno de servidor de implementación. Asegúrate de que "Crear nuevas configuraciones de solución" esté marcada, es por defecto. Después de crear esto, cambie el menú desplegable de configuración en la nueva Dev, y Cualquier CPU ... asegúrese de que todos sus proyectos sean correctos, tuve algunos volteos a x86 y x64 al azar, no estoy seguro de la exacta causa de eso).

En su proyecto web, haga clic con el botón derecho en las propiedades. A la izquierda, haga clic en Paquete/Publicar web (también querrá meterse con la otra pestaña Paquete/Publicar SQL, pero no puedo hablar de eso). En las opciones de la derecha, haga clic en Crear paquete de implementación como un archivo zip. La ubicación predeterminada está bien, el siguiente cuadro de texto que no encontré documentado en ninguna parte. El formato es el siguiente: WebSite/Virtual Directory, por lo que si tiene un sitio llamado "BuildSite" en IIS sin directorio virtual (aplicación == raíz del sitio), tendrá BuildSite solo en este cuadro. Si estaba en un directorio virtual, puede tener Sitio web predeterminado/BuildVirtualDirectory.

Después de configurar todo eso, asegúrese de comprobar en el proyecto y la solución web para la construcción de servidor tiene los cambios de configuración que ha realizado, a continuación, poner en marcha una acumulación :)

Si usted tiene más preguntas, Le recomiendo que vea this video by Vishal Joshi, específicamente alrededor de los 22 y 59 minutos, también cubre la parte de la base de datos ... pero no tengo experiencia real en intentarlo ya que estamos en la parte superior de una base de datos no MSSQL.

+0

¿Hay alguna manera de usar la autenticación de Windows en lugar de una nombre de usuario/contraseña codificados – Maslow

+0

@Maslow, no es que yo sepa, podría estar permitido en alguna parte pero nunca he visto esto documentado (aunque la documentación es delgada en el mejor de los casos ... así que es posible) –

Cuestiones relacionadas