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.

Wanderso
la source

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.

Mike Christianson
la source
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
automatix
la source
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

Hlung
la source
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.

ADP
la 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 ....*
Prasad MCN
la source
Tous les fichiers de configuration magasins à l' intérieur jenkins maître server.Simply peut dire
Prasad MCN