Pregunta

Con frecuencia me estoy conectando a un servidor, cambiando a un directorio específico y ejecutando svn-update

Estoy pensando que probablemente haya una forma muy fácil de automatizar esto, por lo que puedo especificar un subdirectorio cuando ejecuto el script e iniciaré sesión a través de SSH, cd en el directorio correcto y ejecutar svn-update.

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

¿Fue útil?

Solución

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

#min hour date month day command
 0   *    *    *     *   ssh user@host '(cd path/to/working/copy; svn update)' 

Es posible que tenga que configurar autenticación sin contraseña ssh con ssh-agent para que se obtenga no se lo pida.

EDITAR (por comentarios abajo):

Suponiendo que tiene suficientes privilegios para hacerlo, ejecute

ssh user@host crontab -e

Luego agregue una entrada como esta:

#min hour date month day command
 0   *    *    *     *   (cd path/to/working/copy; svn update)

Puede ignorar la parte sobre la edición, a menos que su servidor no le permita usar cron.

Otros consejos

¿Quizás deberías preguntarte por qué estás realizando esta acción?

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

Si necesita supervisión en un servidor svn específico, y tiene acceso de administración, puede habilitar un enlace de confirmación posterior al servidor, por ejemplo, para enviarle un correo electrónico en cada confirmación (o solo en algunos tipos específicos de confirmaciones).

Le ayudaría, si pudiera aclarar el caso de su situación.

el script bash simple lo hará, agrega el comando svn update a tu archivo / etc / profile.

Consulte aquí para el inicio de sesión de bash procesamiento de guiones.

Si desea ejecutarlo desde un cuadro diferente (es decir, no iniciar sesión), recuerde que ssh no se cerrará si hay un proceso en ejecución, por lo que es posible que desee ejecutar la actualización en segundo plano, con todo redirigido a / dev / nulo.

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