Pregunta

En el trabajo tenemos un servidor Windows 2003 con IIS y Subversion instalados.Lo usamos para publicar y probar localmente nuestros sitios web de ASP.NET.Cada programador tiene Tortoise instalado en su PC y puede actualizar/confirmar contenido al servidor.Alojar los repositorios está funcionando bien.Pero los archivos guardados en esos repositorios deben copiarse a nuestro IIS (directorios virtuales) local.

¿Cuál es una manera fácil de publicar esos repositorios de subversión en nuestro IIS local?

Editar:
Gracias a puetzk Agregué un archivo bat simple que se ejecuta cada vez que ocurre una confirmación (verifique el documentación de subversión sobre ganchos).Mi archivo bat solo contiene:

echo off
setlocal

:: Localize the working copy where IIS points)
pushd E:\wwwroot\yourapp\trunk
:: Update your working copy
svn update

endlocal
exit
¿Fue útil?

Solución

  1. Simplemente mantenga el área de archivos del servidor web como una copia de trabajo y realice un svn en él cada vez que desee "publicar".Configúrelo para ocultar el contenido de las carpetas .svn si le parecen desordenados (no sé específicamente cómo hacer esto, pero supongo que se puede hacer).Ya tendrán el bit oculto del sistema de archivos, que puede encargarse de esto.

  2. Si desea que sea realmente automático (se actualice tan pronto como alguien se comprometa), use un script de enlace posterior a la confirmación en el servidor SVN para iniciar el primer proceso.

Otros en los comentarios han sugerido utilizar exportar en lugar de pagar.Eso también puede funcionar y evita el desorden de .svn, pero tiene dos inconvenientes.Primero, tiene que volver a descargar todo el contenido cada vez, no solo los archivos modificados (ya que no mantuvo el directorio .svn para recordar lo que tiene).Si tienes muchos archivos, esto será mucho más lento.Segundo, la actualización reemplaza el archivo de forma atómica (escribe la nueva versión en .svn/tmp y luego la mueve a su lugar).Exportar escribe el archivo gradualmente en su destino a medida que se descarga.Eso significa que la exportación podría entregar un archivo incompleto a alguien que lo haya examinado en el momento equivocado.

Otros consejos

SVN no es compatible con IIS;tu puedes sin embargo ejecute el servidor svnserve independiente como un servicio de Windows.

Ahí está el Entrada de preguntas frecuentes de SVN al respecto, y esta publicación de blog en Blog de Vértigo Software también puede ser útil.

ACTUALIZAR:Después de tu aclaración, veo que lo que estás buscando es una forma de actualizar automáticamente el código en el servidor después de registrarlo.Examinar CruceroControl.NET, después de mirar el tutorial de integración de subversión parece que debería hacer lo que quieres.

ACTUALIZACIÓN 2:Este tutorial describe integrando Subversion, CruiseControl.NET y Nant.

tal vez SVNIsapi pueda resolver el problema (http://www.svnisapi.com).Porque solo utiliza una instalación de IIS, por lo tanto no necesita un servidor APACHE ni un servicio SVNSERVER.En segundo lugar, debería ser posible apilar el complemento ASP.NET ISAPI en el procesamiento de SVNISAPI, de modo que una página ASP.NET (.aspx) se interprete después de leerla desde el repositorio.

Salud a Paolo

El uso puede utilizar el gratuito. Servidor Visual-SVN para instalar rápidamente Subversion con la interfaz Apache.También tiene un complemento MMC agradable para administrar el servidor y los repositorios.

Luego podrá acceder a Subversion con HTTP o HTTPS, pero el número de puerto debe ser diferente del que usa su IIS local (el puerto predeterminado para el servidor Visual-SVN es 8080).

Si realmente necesita acceder a los repositorios utilizando el puerto 80 de IIS local, puede intentar SVN-IIS que actúa como puente entre su IIS y Apache.Aunque no lo he probado yo mismo.

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