126 votes

Où Jenkins stocke-t-il les fichiers de configuration des tâches qu'il exécute ?

J'ajoute l'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 avoir besoin d'être déconnectée et ramenée sur une instance EC2 entièrement différente à tout moment. Nous disposons d'un ensemble 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 tâches que je crée dans Jenkins, seraient supprimés après le déplacement.

Maintenant, si Jenkins stocke les tâches à exécuter dans un fichier XML ou un ensemble de fichiers XML quelque part, je pourrais mettre en place un système dans lequel ces fichiers sont livrés au serveur de contrôle de version, puis téléchargés sur un serveur nouvellement créé en tant que partie du manifeste de marionnettes. Quelqu'un sait-il où ces fichiers sont stockés ? J'ai essayé de copier /var/lib/jenkins/jobs mais il semble que cela stocke la sortie des travaux de Jenkins, et non l'entrée.

154voto

Mike Christianson Points 558

Jenkins stocke certaines des données relatives à la construction, comme celles qui suivent :

  • Le répertoire de travail est stocké dans le répertoire {JENKINS_HOME}/workspace/ .

    • Chaque emploi stocke les données qui lui sont associées dossier de l'espace de travail temporel dans le répertoire {JENKINS_HOME}/workspace/{JOBNAME}
  • La configuration de tous les travaux stockés dans le répertoire {JENKINS_HOME}/jobs/ .

    • Chaque emploi stocke les données qui lui sont associées construit des données dans le répertoire {JENKINS_HOME}/jobs/{JOBNAME}

    • Chaque dossier de travail contient

      • En fichier de configuration du travail es {JENKINS_HOME}/jobs/{JOBNAME}/config.xml

      • En la construction de l'emploi sont stockés dans {JENKINS_HOME}/jobs/{JOBNAME}/builds/

Voir le Documentation Jenkins pour une représentation visuelle et plus de détails.

JENKINS_HOME
 +- config.xml     (jenkins root configuration)
 +- *.xml          (other site-wide configuration files)
 +- userContent    (files in this directory will be served under your http://server/userContent/)
 +- fingerprints   (stores fingerprint records)
 +- nodes          (slave configurations)
 +- plugins        (stores plugins)
 +- secrets        (secretes needed when migrating credentials to other servers)
 +- workspace (working directory for the version control system)
     +- [JOBNAME] (sub directory for each job)
 +- jobs
     +- [JOBNAME]      (sub directory for each job)
         +- config.xml     (job configuration file)
         +- 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)

31voto

automatix Points 923

Sous Linux, on peut trouver le répertoire d'origine de Jenkins en recherchant un fichier que le répertoire d'origine de Jenkins contient, par exemple :

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

9voto

Hlung Points 2286

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

4voto

ADP Points 128

La meilleure approche consiste à conserver vos configurations d'emploi dans un dossier d'archives. Fichier Jenkins qui se trouvent dans le contrôle de la source.

3voto

Par souci d'exhaustivité : macOS High Sierra, Jenkins 2.x, installation via Homebrew.
~/.jenkins/jobs/{project_name}/config.xml

Aperçu complet de la maison Jenkins : https://wiki.jenkins.io/display/JENKINS/Administering+Jenkins

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X