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