2008-08-18 17 views
9

Voy a presentar Subversion en nuestra tienda web. Quiero que los archivos registrados se carguen en el servidor a través de FTP (y a medida que se vayan utilizando Subversion, a través de SFTP). Los archivos se envían a una página candidata de lanzamiento para fines de prueba. Se puede llamar a un script para mover los archivos a producción.Subversion y desarrollo web

Mi pregunta es esta: ¿Cómo transfieres los archivos al servidor a través de Subversion? ¿Hay algún script que pueda agregar que haga la transferencia cuando los archivos estén registrados?

Respuesta

3

Si usted tiene acceso a una consola a su Sever, y SVN instalado en él (o la posibilidad de instalar SVN), entonces su mejor apuesta puede ser justo para eludir FTP completo.

Cómo hacemos uso de nuestras aplicaciones es (simplificado)

  • desarrolladores escriben código y comprobar que en el tronco
  • Periódicamente, cuando el tronco es estable, vamos a tomar una instantánea de la misma como una etiqueta
  • en el servidor, sVN checkout la etiqueta

Si necesitan cualquier cambio que deben introducirse en el servidor (o directamente en el propio servidor en vivo) es trivial de usar la subversión para sincronizar el código

1

Creo que lo que estás buscando es algo así como la integración con un script de compilación automático. He usado CruiseControl para hacer algo similar con una aplicación ASP.Net. No sé cuáles son tus requisitos exactos, pero apostaría a que podrías lograr que haga lo que quieras.

1

Los scripts de Post commit son útiles para esto. Esencialmente en cada confirmación se llama una secuencia de comandos después del evento, que puede usar para realizar una exportación de svn a cualquier lugar.

Un interesante article muestra cómo se puede hacer esto, y this muestra cómo scripts gancho se pueden utilizar con la subversión

1

Probablemente puede utilizar los "ganchos" SVN para hacer esto. Básicamente, puede configurar su servidor para ejecutar scripts antes o después de cada checkin. Aquí está el enlace directo a la sección correspondiente del online book.

3

Desea generar un script que use el enlace de confirmación de publicación en SubVersion. Puede exportar el script desde su repositorio y luego FTP al servidor, o simplemente puede realizar el pago desde su repositorio en un directorio de trabajo en su servidor y llamar a "svn update" en el directorio de trabajo de los servidores en su script hook post-commit. .

There's more information in the Subversion FAQ

0

I segunda idea de Orion. Si tiene acceso de shell al servidor, en realidad es extremadamente fácil usar Subversion como herramienta de implementación. Solo asegúrese de tener configuradas algunas reglas del servidor web para que no exponga accidentalmente los directorios .svn.

2

Creo que probablemente deberías usar svn export en lugar de svn checkout para las implementaciones, por lo que no tienes esos directorios .svn enlodando tus trabajos de copia de seguridad de producción. svn export es un pago "limpio".

También crearía un script que maneje todo para usted. Dependiendo de cómo esté estructurado su código, a menudo puede versionar sus directorios y simplemente actualizar un enlace simbólico a la última versión, lo que hace que las reversiones sean más fáciles.

Incluso podría usar algo como Capistrano para automatizar las implementaciones. Sin embargo, secundo la recomendación para CruiseControl.

0

svn2web ftp o scp archivos de un repositorio de subversión a un servidor web en cada confirmación. Vea el proyecto SourceForge para más detalles.