Jenkins เก็บไฟล์คอนฟิกูเรชันสำหรับงานที่รันอยู่ที่ไหน


101

ฉันกำลังเพิ่มการผสานรวมอย่างต่อเนื่องในโครงการ EC2 ในที่ทำงานโดยใช้ Jenkins เครื่อง Jenkins ถูกเก็บไว้ในเครื่อง EC2 ซึ่งอาจจำเป็นต้องออฟไลน์และนำกลับมาในอินสแตนซ์ EC2 ที่แตกต่างไปจากเดิมอย่างสิ้นเชิง เรามีรายการหุ่นมากมายที่ช่วยให้เราติดตั้งซอฟต์แวร์ใหม่บนอินสแตนซ์ EC2 ได้อย่างง่ายดาย แต่ไฟล์การกำหนดค่าที่กำหนดเองเช่นเดียวกับงานที่ฉันสร้างในเจนกินส์จะถูกลบออกหลังจากการย้าย

ตอนนี้ถ้าเจนกินส์เก็บงานที่จะเรียกใช้ในไฟล์ XML หรือชุดของไฟล์ XML ที่ใดที่หนึ่งฉันสามารถตั้งค่าระบบที่ไฟล์เหล่านั้นมุ่งมั่นกับเซิร์ฟเวอร์ควบคุมเวอร์ชันแล้วดาวน์โหลดกลับไปที่สร้างขึ้นใหม่ เซิร์ฟเวอร์เป็นส่วนหนึ่งของรายการหุ่น ไม่มีใครรู้ว่าไฟล์เหล่านี้เก็บไว้ที่ไหน ฉันได้ลองคัดลอก/var/lib/jenkins/jobsแต่ดูเหมือนว่าจะจัดเก็บผลลัพธ์ของงานของเจนกินส์ไม่ใช่อินพุต

คำตอบ:


131

Jenkins เก็บการกำหนดค่าสำหรับแต่ละงานไว้ในไดเร็กทอรีบาร์โค้ดในjobs/. แฟ้มการกำหนดค่างานคือconfig.xmlการสร้างที่เก็บไว้ในและไดเรกทอรีการทำงานคือbuilds/ workspace/ดูเอกสาร Jenkinsสำหรับการแสดงภาพและรายละเอียดเพิ่มเติม


1
และคุณจะดาวน์โหลดได้อย่างไร?
Martin

3
หากคุณไม่สามารถเข้าถึงโฟลเดอร์การติดตั้ง jenkins ของคุณคุณสามารถสร้างงาน jenkins แบบง่ายๆและเรียกใช้สคริปต์ที่ใช้ไฟล์ config ทั้งหมดสำหรับงาน: "tar -zcvf jenkins-jobs-configs.tar.gz $ (find $ {JENKINS_HOME} / jobs -name config.xml -maxdepth 2) " จากนั้นคุณสามารถเก็บ jenkins-jobs-configs.tar.gz
Jakub Czaplicki

1
โปรดทราบว่านอกจากนี้ยังมีปลั๊กอิน Job Configuration Historyซึ่งช่วยให้คุณสามารถดูการกำหนดค่างานปัจจุบันและก่อนหน้าของคุณได้และสามารถทำได้จากเว็บเบราว์เซอร์หากคุณต้องการ / ต้องการให้เข้าถึงเชลล์ไปยังเซิร์ฟเวอร์ Jenkins
Neil

12
คุณสามารถดาวน์โหลดไฟล์ config จากโหนด Jenkins ได้โดยเรียกใช้: curl http://<ip-address>:8080/job/<job-name>/config.xml > jenkins_config.xml
JESii

เป็นไปได้หรือไม่ที่จะรับ config.xml เมื่อเราสร้าง jenkins job ด้วยวิธีไปป์ไลน์?
Manigandan Thanigai Arasu

24

บน Linux คุณสามารถค้นหาโฮมไดเร็กทอรีของ Jenkins ที่กำลังมองหาไฟล์ที่บ้านของ Jenkins มีอยู่เช่น:

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

ใช้ได้กับ Ubuntu เช่นกัน
vikramvi

3
@vikramvi Ubuntu เป็นการแจกจ่าย Linux ;)
automatix


4

แนวทางที่ดีที่สุดคือเก็บการกำหนดค่างานของคุณไว้ในJenkinsfileที่อยู่ในการควบคุมแหล่งที่มา



1

กำลังเพิ่มบางสิ่งที่เกี่ยวข้องกับการจัดเก็บไฟล์คอนฟิกูเรชันของเจนกินส์

ตามความเข้าใจของฉันที่เก็บไฟล์ config ทั้งหมดในเครื่องหรือระบบปฏิบัติการที่คุณติดตั้งเจนกินส์

งานที่คุณจะสร้างในเจนกินส์จะถูกเก็บไว้ในเซิร์ฟเวอร์เจนกินส์และคุณสามารถค้นหา config.xml เป็นต้นได้ที่นี่

หลังจากการติดตั้งเจนกินส์คุณจะพบพื้นที่ทำงานของเจนกินส์ในเซิร์ฟเวอร์

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

ไฟล์การกำหนดค่าทั้งหมดเก็บไว้ในเซิร์ฟเวอร์หลักของเจนกินส์พูดได้ว่า
Prasad MCN
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.