2009-07-17 15 views
8

Aquí en mi empresa tenemos tres servidores Hudson CI con más de 100 trabajos configurados. Estamos buscando una forma automatizada de periódicamente configuraciones de trabajos de respaldo e historial de compilación.¿Existe alguna forma (automatizada) de hacer una copia de seguridad de los archivos de Hudson CI?

Actualmente tenemos un script ant que configuramos como un trabajo pero no es fácil de mantener y no es elegante.

¿Alguno de ustedes ha encontrado una manera de gestionar esto?

Respuesta

3

Hay un Backup Plugin.

No creo que sea compatible con la programación de copias de seguridad periódicas, pero es posible que pueda desencadenarlo accediendo a través de la URL (como algunas otras API remotas de Hudson), en cuyo caso puede simplemente configurar un trabajo cron para hacer ping a la URL.

+1

Sí, sería una opción, pero nuestros servidores hudson requieren iniciar sesión. De todos modos, Backup Plugin parece ser la mejor opción, tal vez solo se trate de contribuir con un parche de programación para el proyecto. – Kalecser

1

Lo gestionaría con una solución de copia de seguridad de servidor empresarial estándar.

O haga mi propia versión con algo así como BackupPc.

O compruebe los archivos de configuración en su sistema de control de versiones.

2

Mis servidores Hudson se ejecutan en Windows, entonces uso Robocopy para esto. Lo tengo reflejando todos los archivos en el hogar hudson de cada servidor de compilación, excluyendo los directorios del espacio de trabajo de trabajos. Como las copias de seguridad van a un lugar central, tengo una tarea programada en un servidor de archivos que ejecuta mi secuencia de comandos todas las noches, y los servidores de Hudson desconocen el proceso.

El guión tiene una entrada por cada máquina de Hudson:

robocopy-ruta-a buildserver-Hudson-hogar de copia de seguridad carpeta de ruta \ buildserver-Nombre/ZB/E/NP/R: 1/W: 5 "/LOG:%~dpbackup_log.txt"/TEE/XD área de trabajo

Nota: después de la primera máquina, se convierte en/LOG +: en lugar de/LOG: para que las siguientes se agreguen al registro.

Esto refleja sin eliminar archivos que no existen en el código fuente, por lo que incluso si Hudson está configurado para eliminar resultados de compilación después de X meses o construcciones Y, las copias de seguridad aún podrían tener el historial completo ... así como registros de consola y un archivo, y es reanudable si se interrumpe. Es práctico. Si no desea que retenga los archivos que Hudson ha eliminado, podría usar/MIR en lugar de/E.

Estoy seguro de que existen herramientas similares para copias sólidas o duplicación en otras plataformas. Ant probablemente sea suficiente si se hace bien.

0

Además el plugin de copia de seguridad también existe el plugin thinBackup de copia de seguridad sólo los archivos de configuración (disponible para Hudson o Jenkins)

personalmente me gusta hacer todas las copias de seguridad del sistema a través de un sistema que es por lo general un script de shell en el fin. Escribí un guión específico de Jenkins para eso (también funciona para Hudson). Vea https://bitbucket.org/toomasr/jenkins-stuff/src para más información.

+1

La url suministrada en bitbucket devuelve un 404 :-( – Jane

+1

Solucionado ahora, editado la respuesta – toomasr

0

Estoy utilizando thinbackup, que es compatible con copia de seguridad completa y copia de seguridad diferencial, y puede programar cuándo se ejecuta la copia de seguridad utilizando cron job como la sintaxis. Solo realiza copias de seguridad de las configuraciones críticas para que no ocupe muchos espacios.

Ver más detalles en: https://wiki.jenkins-ci.org/display/JENKINS/thinBackup

2

No es impresionante thinBackup plugin.

Copia de seguridad solo la configuración del sistema y las configuraciones de trabajo en lugar de todo el directorio HUDSON_HOME y tiene una programación tipo cron. ¡Sexy!

Cuestiones relacionadas