Di mana Jenkins menyimpan file konfigurasi untuk pekerjaan yang dijalankannya?

99

Saya menambahkan integrasi berkelanjutan ke proyek EC2 di tempat kerja menggunakan Jenkins. Mesin Jenkins sendiri disimpan pada mesin EC2 - mesin yang mungkin perlu dimatikan dan dibawa kembali ke instans EC2 yang sama sekali berbeda kapan saja. Kami memiliki banyak manifes Boneka yang memungkinkan kami menginstal ulang perangkat lunak dengan mudah pada instans EC2, tetapi file konfigurasi khusus, seperti yang untuk pekerjaan yang saya buat di Jenkins, akan dihapus setelah dipindahkan.

Sekarang, jika Jenkins menyimpan pekerjaan apa yang akan dijalankan di file XML atau kumpulan file XML di suatu tempat, saya dapat menyiapkan sistem di mana file tersebut dikomit ke server kontrol versi, dan kemudian diunduh kembali ke yang baru dibuat. server sebagai bagian dari manifes boneka. Adakah yang tahu di mana file-file ini disimpan? Saya sudah mencoba menyalin /var/lib/jenkins/jobs, tetapi tampaknya menyimpan output dari tugas Jenkins, bukan inputnya.

wanderso
sumber

Jawaban:

129

Jenkins menyimpan konfigurasi untuk setiap pekerjaan dalam direktori eponim di jobs/. File konfigurasi pekerjaan adalah config.xml, build disimpan builds/, dan direktori kerja workspace/. Lihat dokumentasi Jenkins untuk representasi visual dan detail lebih lanjut.

Mike Christianson
sumber
1
Dan bagaimana Anda mengunduhnya?
Martin
3
Jika Anda tidak memiliki akses ke folder instalasi jenkins, Anda dapat membuat pekerjaan jenkins sederhana dan menjalankan skrip yang mengubah semua file konfigurasi untuk pekerjaan tersebut: "tar -zcvf jenkins-jobs-configs.tar.gz $ (temukan $ {JENKINS_HOME} / jobs -name config.xml -maxdepth 2) ". Anda kemudian dapat mengarsipkan jenkins-jobs-configs.tar.gz
Jakub Czaplicki
1
Perhatikan juga ada plugin Riwayat Konfigurasi Pekerjaan yang memungkinkan Anda melihat konfigurasi pekerjaan Anda saat ini dan sebelumnya, dan melakukannya langsung dari browser web jika Anda lebih suka / memerlukannya daripada akses shell ke server Jenkins.
Neil
12
Anda dapat mendownload file konfigurasi dari node Jenkins dengan menjalankan: curl http://<ip-address>:8080/job/<job-name>/config.xml > jenkins_config.xml
JESii
Apakah mungkin untuk mendapatkan config.xml saat kita membuat pekerjaan jenkins melalui metode pipeline?
Manigandan Thanigai Arasu
23

Di Linux seseorang dapat menemukan direktori home Jenkins mencari file, yang berisi home Jenkins, misalnya:

$ find / -name "config.xml" | grep "jenkins"
/var/lib/jenkins/config.xml
automatix.dll
sumber
berlaku untuk Ubuntu juga.
vikramvi
3
@vikramvi Ubuntu adalah distribusi Linux. ;)
automatix
8

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

Hlung
sumber
Juga di OS X 10.12.4 :-)
Marcello Romani
4

Pendekatan terbaik adalah mempertahankan konfigurasi pekerjaan Anda di Jenkinsfile yang berada di kontrol sumber.

ADP
sumber
1

Saya menambahkan beberapa hal yang berkaitan dengan penyimpanan file konfigurasi jenkins.

Sesuai pemahaman saya semua file config disimpan di mesin atau OS yang telah Anda instal jenkins.

Pekerjaan yang akan Anda buat di jenkins akan disimpan di server jenkins dan Anda dapat menemukan config.xml dll., Di sini.

Setelah instalasi jenkins Anda akan menemukan ruang kerja jenkins di server.

*cd>jenkins/jobs/`
cd>jenkins/jobs/$ls
   job1 job2 job3 config.xml ....*
Prasad MCN
sumber
Semua file konfigurasi disimpan di dalam server master jenkins. Sederhananya dapat mengatakan
Prasad MCN