Unde stochează Jenkins fișierele de configurare pentru sarcinile pe care le execută? (Programare, Jenkins)

wanderso a intrebat.

Adaug integrarea continuă la un proiect EC2 la locul de muncă folosind Jenkins. Mașina Jenkins în sine este păstrată pe o mașină EC2 – una care ar putea fi nevoie să fie scoasă din funcțiune și adusă înapoi pe o instanță EC2 complet diferită în orice moment. Avem o mulțime de manifeste Puppet care ne permit să reinstalăm cu ușurință software-ul pe instanța EC2, dar fișierele de configurare personalizate, cum ar fi cele pentru lucrările pe care le creez în Jenkins, ar fi șterse după mutare.

Acum, dacă Jenkins stochează ce sarcini trebuie să fie rulate pe el într-un fișier XML sau într-un set de fișiere XML undeva, aș putea configura un sistem în care aceste fișiere sunt trimise pe serverul de control al versiunilor și apoi descărcate înapoi pe un server nou creat ca parte a manifestului Puppet. Știe cineva unde sunt stocate aceste fișiere? Am încercat să copiez /var/lib/jenkins/jobs, , dar se pare că acesta stochează ieșirea lucrărilor lui Jenkins, nu intrarea.

6 răspunsuri
Mike Christianson

Jenkins stochează unele dintre datele legate de build-uri, cum ar fi următoarele:

  • Directorul de lucru este stocat în directorul {JENKINS_HOME}/workspace/.

    • Fiecare lucrare își stochează fișierele dosarul temporal al spațiului de lucru în directorul{JENKINS_HOME}/workspace/{JOBNAME}
  • Configurația pentru toate lucrările stocate în directorul {JENKINS_HOME}/jobs/.

    • Fiecare lucrare stochează dosarul său aferent datele de construcție în director{JENKINS_HOME}/jobs/{JOBNAME}

    • Fiecare dosar de lucrări conține:

      • fișierul de configurare a lucrărilor este {JENKINS_HOME}/jobs/{JOBNAME}/config.xml

      • Site-ul job construiește sunt stocate în {JENKINS_HOME}/jobs/{JOBNAME}/builds/

Consultați fișierul documentația Jenkins pentru o reprezentare vizuală și detalii suplimentare.

JENKINS_HOME
 +- config.xml     (jenkins root configuration)
 +- *.xml          (other site-wide configuration files)
 +- userContent    (files in this directory will be served under your http://server/userContent/)
 +- fingerprints   (stores fingerprint records)
 +- nodes          (slave configurations)
 +- plugins        (stores plugins)
 +- secrets        (secretes needed when migrating credentials to other servers)
 +- workspace (working directory for the version control system)
     +- [JOBNAME] (sub directory for each job)
 +- jobs
     +- [JOBNAME]      (sub directory for each job)
         +- config.xml     (job configuration file)
         +- latest         (symbolic link to the last successful build)
         +- builds
             +- [BUILD_ID]     (for each build)
                 +- build.xml      (build result summary)
                 +- log            (log file)
                 +- changelog.xml  (change log)

Comentarii

  • Și cum le descărcați? –  > Por Martin.
  • Dacă nu aveți acces la dosarul de instalare jenkins, ați putea crea un simplu job jenkins și să rulați un script care să tărăgăneze toate fișierele de configurare pentru joburi: „tar -zcvf jenkins-jobs-configs.tar.gz $(find ${JENKINS_HOME}/jobs -name config.xml -maxdepth 2) „. Apoi, puteți arhiva jenkins-jobs-configs.tar.gz –  > Por Jakub Czaplicki.
  • Rețineți că există, de asemenea, o opțiune plugin Job Configuration History (Istoricitatea configurării lucrărilor) care vă poate permite să vizualizați configurațiile curente și anterioare ale lucrărilor, și să faceți acest lucru direct din browserul web dacă preferați/necesitați acest lucru în locul accesului shell la serverele Jenkins. –  > Por Neil.
  • Puteți descărca fișierul de configurare de pe un nod Jenkins executând: curl http://<ip-address>:8080/job/<job-name>/config.xml > jenkins_config.xml –  > Por JESii.
  • Dacă este posibil să obținem config.xml atunci când creăm o sarcină Jenkins prin metoda pipeline? –  > Por Manigandan Thanigai Arasu.
automatix

Pe Linux se poate găsi directorul de origine al lui Jenkins căutând un fișier, pe care casa lui Jenkins îl conține, de ex:

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

Comentarii

  • aplicabil și pentru Ubuntu. –  > Por vikramvi.
  • @vikramvi Ubuntu este un distribuție Linux. 😉 –  > Por automatix.
Hlung

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

Comentarii

  • De asemenea, și pe OS X 10.12.4 🙂 –  > Por Marcello Romani.
ADP

Cea mai bună abordare ar fi să păstrați configurațiile de lucru într-un fișier Jenkinsfile care să trăiască în controlul sursei.

Tomcat pentru afaceri

De dragul completitudinii: macOS High Sierra, Jenkins 2.x, instalare prin Homebrew
~/.jenkins/jobs/{project_name}/config.xml

Privire de ansamblu completă despre jenkins home: https://wiki.jenkins.io/display/JENKINS/Administering+Jenkins

Prasad MCN

Sunt adăugate câteva lucruri legate de stocarea fișierelor de configurare jenkins.

Din câte am înțeles, toate fișierele de configurare sunt stocate în mașina sau sistemul de operare pe care ați instalat jenkins.

Lucrările pe care urmează să le creați în jenkins vor fi stocate în serverul jenkins și puteți găsi config.xml etc., aici.

După instalarea jenkins, veți găsi spațiul de lucru jenkins în server.

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

Comentarii

  • Toate fișierele de configurare sunt stocate în serverul principal jenkins.Pur și simplu se poate spune –  > Por Prasad MCN.

Tags: