Automatice después de las tareas de confirmación al desarrollar aplicaciones web personalizadas con php

Tengo un problema al usar SVN:

Normalmente hago más de 2 commits por día a una [compañía de hosting de svn privada]. Las aplicaciones que codificamos están basadas en php, usamos bases de datos mySQL, jQuery, etc.

Me gustaría saber si hay algo disponible que me permita automatizar este tipo de tareas:

  • limpie los files de la aplicación web desde svn (elimine las carpetas .svn y los files ocultos)
  • ftp los cambios realizados en la copy de trabajo de la aplicación del cliente
  • cambios de actualización (si se realizan) a la database mySQL de alguna manera
  • etc.

Quiero decir:

Queremos get una herramienta (o service de alojamiento svn) que nos permita automatizar ese tipo de tareas después de cada confirmación para que el cliente pueda ver los cambios realizados instantáneamente en su dominio, etc., sin realizar todas esas tediosas tareas comunes que hacen que los desarrolladores se liberen time valioso.

Muchas gracias por adelantado,
Enrique

¿Limpiar los files svn no es tan simple como hacer un alias / script para eliminar cualquier file con .svn en ellos? O comenzando con el período.

¿La actualización de svn en los clientes que trabajan copy es muy lenta? Supongo que depende de la cantidad de datos que está tratando, pero por lo general debería ser un process rápido.

En cuanto a la actualización de la database, que yo sepa, no hay forma de fusionar contenido ni nada, sin embargo, herramientas como dbdeploy podrían ayudar con la versión que controla el esquema. Por supuesto, podría crear un script que realice un volcado de MySQL de la database que desee e importarlo a la database actual, reemplazando cualquier valor específico del sitio (URL del sitio) a medida que avanzaba.

Realmente recomiendo Webistrano, échale un vistazo en https://github.com/peritor/webistrano/wiki/

Puede agregar muchas acciones personalizadas. Actualmente lo uso para implementar commit SVN / GIT en sitios Drupal. Esto me permite olvidarme de cosas tediosas como cambiar mi configuration de localhost a los sitios de producción.

¡Disfrutar! -Curtis