2009-10-22 25 views
10

Me gustaría administrar los archivos de configuración de Hudson con subversión para la copia de seguridad. The Hudson Wiki listas de la estructura de directorios de $ HUDSON_HOME así:¿Qué parte de HUDSON_HOME debería poner bajo control de fuente?

HUDSON_HOME 
+- config.xml  (hudson root configuration) 
+- *.xml   (other site-wide configuration files) 
+- fingerprints (stores fingerprint records) 
+- plugins  (stores plugins) 
+- jobs 
    +- [JOBNAME]  (sub directory for each job) 
     +- config.xml  (job configuration file) 
     +- workspace  (working directory for the version control system) 
     +- latest   (symbolic link to the last successful build) 
     +- builds 
      +- [BUILD_ID]  (for each build) 
       +- build.xml  (build result summary) 
       +- log   (log file) 
       +- changelog.xml (change log) 

Obviamente empleos/[NOMBRE DEL TRABAJO]/construye no debe entrar en control de código fuente, pero config.xml es un buen candidato. Los complementos y las huellas dactilares son menos obvios.

¿Cómo gestionas las configuraciones de Hudson?

+0

En relación con esto, hay [un plugin que hace la copia de seguridad para usted SMC] (https: //wiki.jenkins-ci .org/display/JENKINS/SCM + Sync + configuration + plugin) – ento

Respuesta

7

Uso un SCM para administrar mi configuración de Hudson. Guardo el config.xml de nivel superior y el config.xml para cada trabajo. Tengo un pequeño script que utilizo para buscar las configuraciones de Hudson y confirmarlas/agregarlas o eliminarlas según sea necesario (junto con otras campanas y silbatos que facilitan la administración de la configuración).

puntos

Re Rob Hruska, para mi en particular configuración:

  • configuraciones cambian a menudo (notificaciones, especialmente)
  • (ver arriba re una secuencia de comandos para realizar las actualizaciones)
  • I DIFF cosas todo el tiempo. Tenemos más de un administrador que puede actualizar la configuración, y estas diferencias son útiles

Dicho todo esto, cada situación es diferente. La gestión que hago para las configuraciones no vino (y no) gratis. Un trabajo de cron que comprime todo por la noche es definitivamente más barato y también puede ser suficiente.

+1

De acuerdo en que "cada situación es diferente". Creo que usted y yo hemos proporcionado los extremos opuestos del espectro en términos de cómo nuestros entornos justifican lo que estamos haciendo para las copias de seguridad; es bueno tener varias perspectivas. –

+1

+1 a Rob para señalar que SCM puede no ser la solución correcta, +1 para responder que la copia de seguridad de cada config.xml es suficiente. Estoy seleccionando oueftete ya que responde el título de mi pregunta directamente. Repensaré mi plan de respaldo desde ambas perspectivas. Muchas gracias. – ento

7

Una SCM probablemente no sea la mejor herramienta para hacer una copia de seguridad del espacio de trabajo de Hudson; sería como usar un Subversion para almacenar las preferencias de un juego o los contenidos de las tablas de la base de datos para una aplicación web. Junto con eso, no parece que sea necesario por las siguientes razones:

  • Los archivos de configuración no lo hacen (o no debe) cambiar con frecuencia (como código), por lo que las copias de seguridad nocturnas son suficientes.
  • Cuando realiza cambios a través de la GUI, algo tendrá que ir al sistema y hacer un svn commit. Dado que esto probablemente sea un paso manual, deja espacio para errores humanos.
  • Probablemente nunca necesite modificar sus cambios de configuración y, por si fuera poco, simplemente puede extraer y ver las copias de seguridad apropiadas (consulte a continuación).

En general, simplemente parecería un poco difícil de usar Subversion para esta tarea. Para hacer una copia de seguridad, recomendaría simplemente configurar un trabajo cron que haga un tar cvzf $HUDSON_HOME. Opcionalmente, podría omitir los directorios de compilación, pero eso parece un poco innecesario si tiene suficiente espacio en disco.

Editar: En cuanto a las diferencias entre esto y oeuftete's answer, mi respuesta es simplemente de mis experiencias con la forma en que uso Hudson. Su respuesta definitivamente proporciona una perspectiva diferente, lo cual es agradable. Definitivamente estoy de acuerdo con eso en que cada situación es diferente y puede requerir diferentes medios para satisfacer un fin.

2

me encontré con un buen libro de cocina para la creación de copias de seguridad SVN para Hudson: http://javaadventure.blogspot.com/2010/07/keeping-hudson-configuration-and-data.html

He adaptado para mis propias necesidades, pero las cosas que debe copia de seguridad del directorio personal Hudson son:

  • config.xml para cada trabajo (empleo/*/config.xml)
  • todo en el directorio de usuarios
  • una lista de los plugins que haya instalado

El enlace también tiene algo de bondad SVN adicional, como la eliminación de configuraciones de trabajo inexistentes, etc.

Cuestiones relacionadas