home files jenkins configuration export backup settings

home - jenkins configuration files



¿Cómo exportar/importar la configuración de Jenkins? (3)

La CLI de Jenkins proporciona la función para exportar e importar trabajos individuales, por ejemplo:

java -jar jenkins-cli.jar -s http://foo-jenkins.tld:8080 get-job myjob > myjob.xml java -jar jenkins-cli.jar -s http://bar-jenkins.tld:8080 create-job newmyjob < myjob.xml

¿También es posible / Cómo hacer una copia de seguridad y restaurar las configuraciones?

Me refiero a toda la configuración:

  • la configuración del sistema,
  • la configuración de seguridad global,
  • las credenciales,
  • la configuración global de la herramienta,
  • la configuración de los complementos (la "Configuración del proxy HTTP" y la lista de los complementos instalados)
  • los nodos
  • Los usuarios
  • ¿Falta algo?

Toda la configuración a la vez o incluso como procesos únicos de copia de seguridad / restauración como, por ejemplo, MozBackup con su "selección de componentes"

o eclipse con su diálogo "Exportar preferencias"


El requisito mencionado se puede lograr fácilmente utilizando el siguiente complemento

https://wiki.jenkins-ci.org/display/JENKINS/JobConfigHistory+Plugin

Los siguientes problemas se resolverán al utilizar este complemento.

  • Los cambios de configuración están versionados.
  • Los cambios de configuración se pueden comparar
  • Los cambios de configuración pueden revertirse

No hay una forma sencilla de realizar copias de seguridad / exportar partes seleccionadas de la configuración, ya que los datos de configuración de Jenkins están dispersos entre

  • Varios archivos ( config.xml global, muchos archivos específicos de complementos)
  • varios subdirectorios (credenciales, nodos) y
  • Algunos de los archivos están cifrados (credenciales), por lo que también debe hacer una copia de seguridad de las claves de cifrado.

La solución más limpia será realizar una copia de seguridad de todo $JENKINS_HOME y excluir aquellas partes que no desea que $JENKINS_HOME parte de la copia de seguridad (por ejemplo, excluir jobs/*/builds ). Con eso terminarás con un tamaño de copia de seguridad razonable también.

Dicha copia de seguridad debe realizarse a nivel del sistema de archivos, ya que no hay API para acceder a todos esos archivos / datos.

No confíe en thinBackup , ya que depende de los mantenedores de complementos para que no se pierda nada importante. Por ejemplo, a partir de la versión 1.7.4, thinBackup no hace una copia de seguridad de las claves secretas de Jenkins, por lo que es imposible restaurar las credenciales desde cero.