Automatizando la actualización svn

Frecuentemente me meto en un server, cambio a un directory específico y ejecuto svn-update

Estoy pensando que probablemente haya una manera muy fácil de automatizar esto, así que puedo crear un subdirectory específico simple cuando ejecuto el script y se iniciará vía SSH, cd al directory correcto y ejecutará svn-update.

¿Es este un trabajo para capistrano o podría un simple script bash hacer el trabajo?

Suena como un trabajo para cron . Ejecute crontab y agregue una input como esta:

 #min hour date month day command
  0 * * * * ssh user @ host '(ruta de acceso cd / a / working / copy; svn update)' 

Es posible que deba configurar la authentication sin contraseña de ssh con ssh-agent para que no se inicie.

EDITAR (por comentarios a continuación):

Suponiendo que tiene suficientes privilegios para hacerlo, ejecute

 ssh user @ host crontab -e

A continuación, agregue una input como esta:

 #min hour date month day command
  0 * * * * (ruta cd / a / trabajo / copy; actualización svn)

Puede ignorar la parte encima de la edición, a less que su server no le permita usar cron.

Tal vez deberías preguntarte por qué estás realizando esta acción.

¿Podría un server de compilation como CruiseControl o Hudson resolver el caso más general (saber cuándo se ha realizado una confirmación de svn)?

Si necesita supervisar en un server svn específico y tiene acceso de administración a él, puede habilitar un enganche post-commit para el server, por ejemplo para enviarle un correo electrónico en cada confirmación (o solo en algunos types específicos de confirmaciones) .

Sería útil si pudieras aclarar el uso de tu situación.

El script bash simple lo hará, agregue el command svn update a su file / etc / profile.

Vea aquí para el procesamiento del script de inicio de session Bash .

Si desea ejecutarlo desde un cuadro diferente (es decir, sin iniciar session) solo recuerde que ssh no saldrá si hay un process en ejecución, por lo que es posible que desee ejecutar la actualización en segundo plano, con todo networkingirigido a / dev / nulo.