Où Jenkins stocke-t-il les fichiers de configuration pour les travaux qu'il exécute?


99

J'ajoute une intégration continue à un projet EC2 au travail en utilisant Jenkins. La machine Jenkins elle-même est conservée sur une machine EC2 - une machine qui pourrait devoir être mise hors ligne et ramenée sur une instance EC2 entièrement différente à tout moment. Nous avons un tas de manifestes Puppet nous permettant de réinstaller facilement le logiciel sur l'instance EC2, mais les fichiers de configuration personnalisés, comme ceux des travaux que je crée dans Jenkins, seraient supprimés après le déplacement.

Maintenant, si Jenkins stocke les tâches à exécuter sur celui-ci dans un fichier XML ou un ensemble de fichiers XML quelque part, je pourrais configurer un système dans lequel ces fichiers sont validés sur le serveur de contrôle de version, puis téléchargés à nouveau sur un fichier nouvellement créé serveur dans le cadre du manifeste de la marionnette. Quelqu'un sait-il où ces fichiers sont stockés? J'ai essayé de copier /var/lib/jenkins/jobs, mais cela semble stocker la sortie des travaux de Jenkins, pas l'entrée.

Réponses:


129

Jenkins stocke la configuration de chaque travail dans un répertoire éponyme dans jobs/. Le fichier de configuration du travail est config.xml, les builds sont stockés dans builds/et le répertoire de travail est workspace/. Voir la documentation Jenkins pour une représentation visuelle et plus de détails.


1
Et comment les téléchargeriez-vous?
Martin

3
Si vous n'avez pas accès à votre dossier d'installation jenkins, vous pouvez créer une tâche jenkins simple et exécuter un script qui tarit tous les fichiers de configuration pour les tâches: "tar -zcvf jenkins-jobs-configs.tar.gz $ (trouver $ {JENKINS_HOME} / jobs -name config.xml -maxdepth 2) ". Vous pouvez ensuite archiver jenkins-jobs-configs.tar.gz
Jakub Czaplicki

1
Notez qu'il existe également un plugin d'historique de configuration des tâches qui peut vous permettre de visualiser vos configurations de tâches actuelles et précédentes, et le faire directement à partir du navigateur Web si vous préférez / avez besoin d'un accès shell aux serveurs Jenkins.
Neil

12
Vous pouvez télécharger le fichier de configuration à partir d'un nœud Jenkins en exécutant: curl http://<ip-address>:8080/job/<job-name>/config.xml > jenkins_config.xml
JESii

Est-il possible d'obtenir config.xml lorsque nous créons un travail jenkins via la méthode pipeline?
Manigandan Thanigai Arasu

23

Sur Linux, on peut trouver le répertoire personnel de Jenkins à la recherche d'un fichier, que contient le répertoire personnel de Jenkins, par exemple:

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

applicable également à Ubuntu.
vikramvi

3
@vikramvi Ubuntu est une distribution Linux. ;)
automatix

8

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


Aussi sur OS X 10.12.4 :-)
Marcello Romani

4

La meilleure approche serait de conserver vos configurations de travail dans un fichier Jenkins qui vit dans le contrôle de code source.



1

J'ajoute peu de choses liées au stockage des fichiers de configuration jenkins.

Selon ce que je comprends, tous les magasins de fichiers de configuration de la machine ou du système d'exploitation que vous avez installé jenkins.

Les travaux que vous allez créer dans jenkins seront stockés sur le serveur jenkins et vous pouvez trouver le config.xml etc., ici.

Après l'installation de jenkins, vous trouverez l'espace de travail jenkins sur le serveur.

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

Tous les fichiers de configuration magasins à l' intérieur jenkins maître server.Simply peut dire
Prasad MCN
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.