Wo speichert Jenkins Konfigurationsdateien für die ausgeführten Jobs?


98

Ich füge einem EC2-Projekt bei der Arbeit mit Jenkins eine kontinuierliche Integration hinzu. Die Jenkins-Maschine selbst wird auf einer EC2-Maschine gespeichert - eine, die möglicherweise offline geschaltet und jederzeit auf eine völlig andere EC2-Instanz zurückgesetzt werden muss. Wir haben eine Reihe von Puppet-Manifesten, mit denen wir die Software auf der EC2-Instanz problemlos neu installieren können, aber benutzerdefinierte Konfigurationsdateien, wie die für die Jobs, die ich in Jenkins erstelle, werden nach dem Umzug gelöscht.

Wenn Jenkins in einer XML-Datei oder einer Reihe von XML-Dateien speichert, welche Jobs darauf ausgeführt werden sollen, könnte ich ein System einrichten, in dem diese Dateien auf den Versionskontrollserver übertragen und dann auf einen neu erstellten Server zurückgeladen werden Server als Teil des Puppenmanifests. Weiß jemand, wo diese Dateien gespeichert sind? Ich habe versucht zu kopieren /var/lib/jenkins/jobs, aber das scheint die Ausgabe von Jenkins 'Jobs zu speichern, nicht die Eingabe.

Antworten:


128

Jenkins speichert die Konfiguration für jeden Job in einem gleichnamigen Verzeichnis in jobs/. Die Jobkonfigurationsdatei lautet config.xml, die Builds werden gespeichert builds/und das Arbeitsverzeichnis lautet workspace/. Eine visuelle Darstellung und weitere Details finden Sie in der Jenkins-Dokumentation .


1
Und wie würden Sie sie herunterladen?
Martin

3
Wenn Sie keinen Zugriff auf Ihren Jenkins-Installationsordner haben, können Sie einen einfachen Jenkins-Job erstellen und ein Skript ausführen, das alle Konfigurationsdateien für die Jobs tariert: "tar -zcvf jenkins-jobs-configs.tar.gz $ (find $ {JENKINS_HOME} / jobs -name config.xml -maxdepth 2) ". Sie könnten dann jenkins-jobs-configs.tar.gz
Jakub Czaplicki

1
Beachten Sie, dass es auch ein Plugin für den Jobkonfigurationsverlauf gibt, mit dem Sie Ihre aktuellen und vorherigen Jobkonfigurationen anzeigen können. Dies können Sie direkt über den Webbrowser tun, wenn Sie dies dem Shell-Zugriff auf Jenkins-Server vorziehen / benötigen.
Neil

12
Sie können die Konfigurationsdatei von einem Jenkins-Knoten herunterladen, indem Sie curl http://<ip-address>:8080/job/<job-name>/config.xml > jenkins_config.xml
Folgendes ausführen

Ob es möglich ist, config.xml abzurufen, wenn wir einen Jenkins-Job über die Pipeline-Methode erstellen?
Manigandan Thanigai Arasu

23

Unter Linux kann man das Home-Verzeichnis von Jenkins finden, das nach einer Datei sucht, die Jenkins 'Home enthält, z.

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

gilt auch für Ubuntu.
Vikramvi

3
@vikramvi Ubuntu ist eine Linux-Distribution. ;)
Automatix

8

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


Auch unter OS X 10.12.4 :-)
Marcello Romani



1

Ich füge einige Dinge hinzu, die mit der Speicherung von Jenkins-Konfigurationsdateien zusammenhängen.

Nach meinem Verständnis werden alle Konfigurationsdateien auf dem Computer oder Betriebssystem gespeichert, auf dem Sie Jenkins installiert haben.

Die Jobs, die Sie in Jenkins erstellen werden, werden auf dem Jenkins-Server gespeichert. Die Datei config.xml usw. finden Sie hier.

Nach der Installation von Jenkins finden Sie den Arbeitsbereich von Jenkins auf dem Server.

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

Alle Konfigurationsdateien werden auf dem Jenkins Master Server gespeichert. Einfach gesagt
Prasad MCN
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.