Gdzie Jenkins przechowuje pliki konfiguracyjne dla wykonywanych zadań?

99

Dodaję ciągłą integrację do projektu EC2 w pracy przy użyciu Jenkinsa. Sama maszyna Jenkins jest przechowywana na maszynie EC2 - takiej, która może wymagać przełączenia w tryb offline i przywrócenia w dowolnym momencie zupełnie innej instancji EC2. Mamy kilka manifestów Puppet, które pozwalają nam łatwo ponownie zainstalować oprogramowanie na instancji EC2, ale niestandardowe pliki konfiguracyjne, takie jak te dla zadań, które tworzę w Jenkins, zostaną usunięte po przeniesieniu.

Teraz, jeśli Jenkins przechowuje gdzieś w pliku XML lub zestawie plików XML, jakie zadania mają być wykonywane, mógłbym skonfigurować system, w którym te pliki są zatwierdzane na serwerze kontroli wersji, a następnie przesyłane z powrotem do nowo utworzonego serwer jako część manifestu marionetki. Czy ktoś wie, gdzie są przechowywane te pliki? Próbowałem kopiować /var/lib/jenkins/jobs, ale wygląda na to, że przechowuje dane wyjściowe zadań Jenkinsa, a nie dane wejściowe.

wanderso
źródło

Odpowiedzi:

129

Jenkins przechowuje konfigurację dla każdego zadania w katalogu nazwanym w jobs/. Plik konfiguracyjny zadania to config.xml, kompilacje są przechowywane w builds/, a katalog roboczy to workspace/. Zobacz dokumentację Jenkins, aby uzyskać wizualną reprezentację i dalsze szczegóły.

Mike Christianson
źródło
1
Jak byś je ściągnął?
Martin
3
Jeśli nie masz dostępu do folderu instalacyjnego Jenkinsa, możesz utworzyć proste zadanie jenkinsa i uruchomić skrypt, który usuwa wszystkie pliki konfiguracyjne zadań: "tar -zcvf jenkins-jobs-configs.tar.gz $ (znajdź $ {JENKINS_HOME} / jobs -name config.xml -maxdepth 2) ”. Następnie możesz zarchiwizować jenkins-jobs-configs.tar.gz
Jakub Czaplicki
1
Zauważ, że istnieje również wtyczka Historia konfiguracji zadań, która umożliwia przeglądanie bieżących i poprzednich konfiguracji zadań i robienie tego bezpośrednio z przeglądarki internetowej, jeśli wolisz / wymagasz tego zamiast dostępu powłoki do serwerów Jenkins.
Neil
12
Możesz pobrać plik konfiguracyjny z węzła Jenkins, uruchamiając: curl http://<ip-address>:8080/job/<job-name>/config.xml > jenkins_config.xml
JESii
Czy możliwe jest pobranie pliku config.xml podczas tworzenia zadania Jenkinsa metodą potoku?
Manigandan Thanigai Arasu
23

W Linuksie można znaleźć katalog domowy Jenkinsa szukającego pliku, który zawiera dom Jenkinsa, np:

$ find / -name "config.xml" | grep "jenkins"
/var/lib/jenkins/config.xml
automatix
źródło
dotyczy również Ubuntu.
vikramvi
3
@vikramvi Ubuntu to dystrybucja Linuksa. ;)
automatix
8

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

Hlung
źródło
Również na OS X 10.12.4 :-)
Marcello Romani
4

Najlepszym podejściem byłoby przechowywanie konfiguracji zadań w pliku Jenkinsfile, który znajduje się w kontroli źródła.

ADP
źródło
1

Dodam kilka rzeczy związanych z przechowywaniem plików konfiguracyjnych Jenkinsa.

Jak rozumiem, wszystkie pliki konfiguracyjne są przechowywane na komputerze lub w systemie operacyjnym, na którym zainstalowałeś jenkins.

Zadania, które zamierzasz utworzyć w jenkins, będą przechowywane na serwerze jenkins, a plik config.xml itp. Znajdziesz tutaj.

Po instalacji Jenkinsa na serwerze znajdziesz obszar roboczy Jenkins.

*cd>jenkins/jobs/`
cd>jenkins/jobs/$ls
   job1 job2 job3 config.xml ....*
Prasad MCN
źródło
Wszystkie pliki konfiguracyjne są przechowywane na serwerze głównym Jenkinsa, wystarczy powiedzieć
Prasad MCN