2009-11-30 22 views
11

Soy nuevo en subversión y me pregunto cómo pasar del desarrollo a la puesta en escena y luego a la producción.Implementación de un sitio web desde Subversion

Creo que entiendo el concepto de crear ramas para lanzamientos como detailed here. ¿Pero cómo implemento realmente la rama?

Lo ideal sería simplemente configurar un nuevo sitio web y copiar los archivos desde la sucursal, pero me preocupa la posibilidad de copiar cualquier enlace svn en producción.

Si es pertinente, este es un proyecto de sitio web de Visual Studio y estoy usando el servidor de VisualSVN, TortoiseSVN y Ankh para integrarlo con Visual Studio.

Respuesta

11

svn export

exporta los archivos con exclusión de toda la subversión cruft

-2

Necesita algún tipo de destino de "implementación" en su sistema de compilación que ignore las carpetas llamadas .svn, que es donde reside toda la información de subversión.

4

que quiere hacer un svn export. esto exportará el código sin los directorios .svn por todo el lugar.

3

A menos que vaya a desarrollar en sucursales separadas, solo usaría un tag para marcar un lanzamiento.

A continuación, querrá hacer una svn export de esa etiqueta, para que no tenga todas las carpetas extra .svn por todas partes.

5

Le falta una pieza aquí, básicamente, no debe usar subversion solo para implementar para probar y producir. Su mejor opción es utilizar algún tipo de secuencia de comandos que extraerá la compilación de la subversión (si usa svn export, no traerá anzuelos de archivos de subversión), compilar los archivos necesarios (utilizando MSBuild, que se puede crear mediante scripts), eliminar el archivos innecesarios (como archivos .aspx.cs desde que construyó el objeto) y cópielos en su entorno.

A nivel local, usamos powershell para unir todo junto y una combinación de la línea de comando svn, MSBuild y nUnit desde la línea de comandos para hacer nuestras compilaciones.

+1

Excelente punto John: a menos que sea una configuración muy simple, es probable que se requiera algo más que una simple "exportación". Además de la operación de tipo "extracción" que describes (donde la secuencia de comandos desencadena la exportación de svn), también he visto una secuencia de comandos "implementar" en el repositorio. Es decir. el proceso para actualizar es 1) realizar la exportación. 2) Ejecute la secuencia de comandos de implementación (que normalmente funciona en modo interactivo). En un caso, en realidad era una página de "implementación". –

+0

Ese es un buen punto, pero esto en realidad es una configuración simple. así que no hay necesidad de hacer las cosas demasiado complejas. – plntxt

0

La forma de manejarlo es que utilizo una herramienta de compilación (como ant + ivy o maven) para automatizar el proceso de comprobación del código de subversión, crear un artefacto y luego implementarlo donde sea necesario.

Trabajo más en el lado de Java, por lo que no estoy familiarizado con las herramientas de .NET, ¿quizás puede usar nmaven?

0

Tema viejo, pero ¿ha cambiado esto un poco ya que SVN solo tiene un único archivo .svn en la raíz del proyecto? También puede configurar Apache para que ignore las solicitudes .svn, lo que hace que sea más factible implementarlo de esta manera.

Cuestiones relacionadas