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.