¿Dónde almacena Jenkins los archivos de configuración para los trabajos que ejecuta?


98

Estoy agregando integración continua a un proyecto EC2 en el trabajo usando Jenkins. La máquina Jenkins en sí se mantiene en una máquina EC2, una que podría necesitar desconectarse y volver a colocarse en una instancia EC2 completamente diferente en cualquier momento. Tenemos un montón de manifiestos de Puppet que nos permiten reinstalar fácilmente el software en la instancia EC2, pero los archivos de configuración personalizados, como los de los trabajos que creo en Jenkins, se eliminarían después del traslado.

Ahora, si Jenkins almacena los trabajos que se ejecutarán en él en un archivo XML o un conjunto de archivos XML en algún lugar, podría configurar un sistema en el que esos archivos se envíen al servidor de control de versiones y luego se descarguen de nuevo en un archivo XML recién creado. servidor como parte del manifiesto de marionetas. ¿Alguien sabe dónde se almacenan estos archivos? Intenté copiar /var/lib/jenkins/jobs, pero eso parece almacenar la salida de los trabajos de Jenkins, no la entrada.

Respuestas:


128

Jenkins almacena la configuración de cada trabajo dentro de un directorio epónimo en formato jobs/. El archivo de configuración del trabajo es config.xml, las compilaciones se almacenan en builds/y el directorio de trabajo es workspace/. Consulte la documentación de Jenkins para obtener una representación visual y más detalles.


1
¿Y cómo los descargarías?
Martin

3
Si no tiene acceso a la carpeta de instalación de jenkins, puede crear un trabajo simple de jenkins y ejecutar un script que guarde todos los archivos de configuración de los trabajos: "tar -zcvf jenkins-jobs-configs.tar.gz $ (find $ {JENKINS_HOME} / jobs -name config.xml -maxdepth 2) ". A continuación, podría archivar jenkins-jobs-configs.tar.gz
Jakub Czaplicki

1
Tenga en cuenta que también hay un complemento de Historial de configuración de trabajos que puede permitirle ver sus configuraciones de trabajo actuales y anteriores, y hacerlo directamente desde el navegador web si lo prefiere / requiere el acceso a través de shell a los servidores de Jenkins.
Neil

12
Puede descargar el archivo de configuración de un nodo de Jenkins ejecutando: curl http://<ip-address>:8080/job/<job-name>/config.xml > jenkins_config.xml
JESii

¿Es posible obtener config.xml cuando creamos el trabajo de jenkins a través del método de canalización?
Manigandan Thanigai Arasu

23

En Linux, uno puede encontrar el directorio de inicio de Jenkins buscando un archivo, que contiene la casa de Jenkins, por ejemplo:

$ find / -name "config.xml" | grep "jenkins"
/var/lib/jenkins/config.xml

aplicable para Ubuntu también.
vikramvi

3
@vikramvi Ubuntu es una distribución de Linux. ;)
automatix

8

Jenkins 1.627, OS X 10.10.5 /Users/Shared/Jenkins/Home/jobs/{project_name}/config.xml


También en OS X 10.12.4 :-)
Marcello Romani

4

El mejor enfoque sería mantener las configuraciones de su trabajo en un archivo Jenkins que viva en control de código fuente.



1

Estoy agregando algunas cosas relacionadas con el almacenamiento de archivos de configuración de jenkins.

Según tengo entendido, todos los archivos de configuración se almacenan en la máquina o el sistema operativo en el que ha instalado jenkins.

Los trabajos que va a crear en jenkins se almacenarán en el servidor jenkins y puede encontrar el config.xml, etc., aquí.

Después de la instalación de jenkins, encontrará el espacio de trabajo de jenkins en el servidor.

*cd>jenkins/jobs/`
cd>jenkins/jobs/$ls
   job1 job2 job3 config.xml ....*

Todos los archivos de configuración se almacenan dentro del servidor maestro de jenkins. Simplemente puedo decir
Prasad MCN
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.