tutorial tortoise subversion svn ftp

svn - tortoise - Subversión y desarrollo web



svn vs git (8)

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.

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.

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?


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

También crearía un script que lo maneje todo por ti. 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.


Desea construir 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. .

Hay más información en las preguntas frecuentes de Subversion


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 artículo muestra cómo se podría hacer esto, y esto muestra cómo los scripts de gancho se pueden usar con subversión


Probablemente pueda usar los "ganchos" del 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 relevante del libro en línea .


Si tiene acceso de shell a su servidor y SVN instalado en él (o la capacidad de instalar SVN), entonces su mejor opción puede ser simplemente eludir por completo el FTP.

Cómo implementamos nuestras aplicaciones es (simplificado)

  • Los desarrolladores escriben código y lo verifican en el tronco
  • Periódicamente, cuando el tronco es estable, tomaremos una instantánea de él como una etiqueta
  • En el servidor, svn checkout la etiqueta

Si es necesario realizar cambios en el servidor (o directamente en el servidor en vivo), es trivial usar subversión para sincronizar el código.


Yo segundo la 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.


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