Dove memorizza Jenkins i file di configurazione per i lavori che esegue?


99

Sto aggiungendo l'integrazione continua a un progetto EC2 al lavoro utilizzando Jenkins. La macchina Jenkins stessa è conservata su una macchina EC2, che potrebbe dover essere portata offline e riportata su un'istanza EC2 completamente diversa in qualsiasi momento. Abbiamo un sacco di manifest di Puppet che ci consentono di reinstallare facilmente il software sull'istanza EC2, ma i file di configurazione personalizzata, come quelli per i lavori che creo in Jenkins, verrebbero eliminati dopo lo spostamento.

Ora, se Jenkins memorizza quali lavori devono essere eseguiti su di esso in un file XML o in un insieme di file XML da qualche parte, potrei configurare un sistema in cui quei file vengono salvati sul server di controllo della versione, e quindi scaricati di nuovo su un nuovo server come parte del manifesto del pupazzo. Qualcuno sa dove sono archiviati questi file? Ho provato a copiare /var/lib/jenkins/jobs, ma sembra memorizzare l'output dei lavori di Jenkins, non l'input.

Risposte:


129

Jenkins memorizza la configurazione per ogni lavoro all'interno di una directory omonima in jobs/. Il file di configurazione del lavoro è config.xml, le build sono archiviate builds/e la directory di lavoro è workspace/. Vedere la documentazione di Jenkins per una rappresentazione visiva e ulteriori dettagli.


1
E come li scaricheresti?
Martin

3
Se non hai accesso alla cartella di installazione di jenkins, potresti creare un semplice lavoro jenkins ed eseguire uno script che tara tutti i file di configurazione per i lavori: "tar -zcvf jenkins-jobs-configs.tar.gz $ (find $ {JENKINS_HOME} / jobs -name config.xml -maxdepth 2) ". È quindi possibile archiviare jenkins-jobs-configs.tar.gz
Jakub Czaplicki

1
Nota che esiste anche un plug-in Cronologia configurazione lavoro che ti consente di visualizzare le configurazioni di lavoro correnti e precedenti e farlo direttamente dal browser web se preferisci / richiedi l'accesso tramite shell ai server Jenkins.
Neil

12
Puoi scaricare il file di configurazione da un nodo Jenkins eseguendo: curl http://<ip-address>:8080/job/<job-name>/config.xml > jenkins_config.xml
JESii

Se è possibile ottenere config.xml quando creiamo un lavoro jenkins tramite il metodo pipeline?
Manigandan Thanigai Arasu

23

Su Linux si può trovare la home directory di Jenkins alla ricerca di un file, che la home di Jenkins contiene, ad esempio:

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

applicabile anche per Ubuntu.
vikramvi

3
@vikramvi Ubuntu è una distribuzione Linux. ;)
automatix

8

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


Anche su OS X 10.12.4 :-)
Marcello Romani

4

L'approccio migliore sarebbe quello di mantenere le configurazioni di posti di lavoro in un Jenkinsfile che vivono in controllo del codice sorgente.



1

Sto aggiungendo alcune cose relative all'archiviazione dei file di configurazione di jenkins.

Secondo la mia comprensione, tutti i file di configurazione archiviati nella macchina o nel sistema operativo su cui hai installato jenkins.

I lavori che creerai in jenkins verranno archiviati nel server jenkins e potrai trovare config.xml ecc. Qui.

Dopo l'installazione di jenkins troverai lo spazio di lavoro di jenkins nel server.

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

Tutti i file di configurazione sono archiviati all'interno del server principale di jenkins. Semplicemente posso dire
Prasad MCN
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.