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.
curl http://<ip-address>:8080/job/<job-name>/config.xml > jenkins_config.xml
W Linuksie można znaleźć katalog domowy Jenkinsa szukającego pliku, który zawiera dom Jenkinsa, np:
źródło
Jenkins 1.627, OS X 10.10.5
/Users/Shared/Jenkins/Home/jobs/{project_name}/config.xml
źródło
Najlepszym podejściem byłoby przechowywanie konfiguracji zadań w pliku Jenkinsfile, który znajduje się w kontroli źródła.
źródło
Dla kompletności: macOS High Sierra, Jenkins 2.x, instalacja przez Homebrew
~/.jenkins/jobs/{project_name}/config.xml
Pełny przegląd strony głównej Jenkins: https://wiki.jenkins.io/display/JENKINS/Administering+Jenkins
źródło
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.
źródło