जवाबों:
ऐसा करने के कई तरीके हैं, लेकिन सबसे आसान तरीका मुझे लगता है कि जेनकिंस होम फोल्डर का बैकअप है।
आप देख सकते हैं कि आपका जेनकिन्स घर कहां है:
echo $JENKINS_HOME
और उदाहरण के लिए, यदि आप केवल उन नौकरियों का बैकअप लेना चाहते हैं, जिनमें आप जा सकते हैं:
cd $JENKINS_HOME/jobs
और उस फोल्डर के लिए एक बैकअप बनाएं।
वह सभी कॉन्फ़िगरेशन XML फ़ाइलों का एक गुच्छा होगा ।
यदि आप आधिकारिक जेनकींस डॉकटर छवि का उपयोग कर रहे हैं , तो घर पर होगा:
/var/jenkins_home
$JENKINS_HOME
पर्यावरण चर तक पहुँच प्राप्त करने के लिए जेनकींस उपयोगकर्ता पर स्विच करने की आवश्यकता थी : sudo su -s /bin/bash jenkins
और फिर echo $JENKINS_HOME
, जो मेरे लिए था/var/lib/jenkins
सभी जॉब्स ( jobs/
) और मास्टर कॉन्फिग फाइल्स ( config.xml
) जेन्किन्स होम फोल्डर ( JENKINS_HOME
) में निम्न संरचना में पाई जा सकती हैं :
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)
+- plugins (stores plugins)
+- 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)
अधिकांश कॉन्फ़िगरेशन XML प्रारूप में हैं, इसलिए सभी .xml
फ़ाइलों का समर्थन पर्याप्त होना चाहिए।
सभी सेटिंग्स, बिल्ड लॉग, विरूपण साक्ष्य अभिलेखागार JENKINS_HOME निर्देशिका के तहत संग्रहीत किए जाते हैं। बस एक बैक अप बनाने के लिए इस निर्देशिका को संग्रहित करें। इसी तरह, डेटा को पुनर्स्थापित करना केवल बैक अप से JENKINS_HOME निर्देशिका की सामग्री को प्रतिस्थापित करना है।
सर्वर को बंद किए बिना बैक अप लिया जा सकता है, लेकिन जब आप पुनर्स्थापित करते हैं, तो कृपया सर्वर को रोक दें।
लगातार बैकअप के लिए यह अच्छा विकल्प है कि JENKINS_HOME
डायरेक्टरी को गिट रिपॉजिटरी के अंतर्गत रखा जाए ।
उदाहरण के लिए:
cd $JENKINS_HOME
git init
shopt -s globstar
git add **/config.xml
git commit -m'Added job config files' -a
और फ़ाइलों को बाहरी रिपॉजिटरी में धकेलना। आप कुछ फ़ाइलों को अनदेखा करने के लिए निम्न .gitignore
फ़ाइल भी जोड़ सकते हैं ।
संबंधित: क्या हडसन / जेनकिंस कॉन्फ़िगरेशन फ़ाइलों को स्रोत नियंत्रण में रखने का एक तरीका है?
यदि आपकी जेनकिंस नौकरियों को जेनकिंसफाइल में परिभाषित किया गया है, तो आप इसे गिट रिपॉजिटरी में स्टोर कर सकते हैं और इसे पाइप लाइन का उपयोग करके लोड कर सकते हैं ।
दुर्भाग्य से, चूंकि सभी जेनकिन्स प्लगइन्स जेनकिंसफाइल और पाइपलाइन का समर्थन नहीं करते हैं, यदि आप इस प्रारूप में मौजूदा नौकरियों को स्थानांतरित करना चाहते हैं, तो आपको मैन्युअल रूप से नए जेनकिंसफाइल्स बनाने की आवश्यकता होगी।
एससीएम समन्वयन कॉन्फ़िगरेशन प्लगइन वास्तव में आप क्या चाहते हैं नहीं करता है। आपके जेनकींस कोर और जॉब कॉन्फिगरेशन का बैकअप लेने के लिए svn या git के साथ काम करता है, जिससे आपको आसानी से ट्रैकिंग मिलती है कि किसने बदलाव किया, साथ ही साथ बैकअप भी।
जेनकिंस डेटा और मास्टर कॉन्फ़िगरेशन बैकअप के लिए कुछ तरीके हैं। बैकअप के लिए सबसे अच्छा तरीका थिनबैकअप प्लगइन का उपयोग करना है। आप क्रोन एक्सप्रेशन का उपयोग करके समय पर बैकअप शेड्यूल कर सकते हैं। आप पूर्ण बैकअप और वृद्धिशील बैकअप को भी कॉन्फ़िगर कर सकते हैं।
डेटा और कॉन्फिगरेशन का बैकअप लेने का एक और तरीका है कि आप अपने जेनकिंस मास्टर सर्वर की डिस्क स्नैपशॉट लें। डिस्क को माउंट करके ऐसा करने का आदर्श तरीका है और जेनकिंस कॉन्फिग डायरेक्टरी को डिस्क माउंट पॉइंट से लिंक करें
इस ब्लॉग पोस्ट में दोनों परिदृश्यों को अच्छी तरह से समझाया गया है । आपको कॉन्फ़िगरेशन के लिए एक बेहतर विचार और कदम मिलेगा।
मैं स्क्रिप्ट का उपयोग कर रहा हूं sue445/jenkins-backup-script
।
यह जेनकींस सेटिंग्स और प्लगइन्स को संग्रहीत करता है जैसे:
$JENKINS_HOME/*.xml
$JENKINS_HOME/jobs/*/*.xml
$JENKINS_HOME/nodes/*
$JENKINS_HOME/plugins/*.jpi
$JENKINS_HOME/secrets/*
$JENKINS_HOME/users/*
./jenkins-backup.sh /path/to/jenkins_home archive.tar.gz
# add timestamp suffix
./jenkins-backup.sh /path/to/jenkins_home backup_`date +"%Y%m%d%H%M%S"`.tar.gz
आप thinBackup प्लगइन की कोशिश कर सकते हैं (भले ही यह सक्रिय रूप से बनाए नहीं रखा गया है) [यदि एक तार्किक बैकअप लेना है तो आप सभी चाहते हैं] (यानी अधिकांश कॉन्फिग xml फाइलें, नौकरी, नोड्स आदि)। बैकअप आकार बहुत बड़ा नहीं होगा।
मैं एक Windows सर्वर उदाहरण से दूसरे करने के लिए एक जेनकींस माइग्रेट करने की जरूरत है। अंत में मैं ऐसा करने में कामयाब रहा:
C:\Program Files x86\Jenkins
)jenkins.exe install
यह नई मशीन पर एक सेवा के रूप में ताजा चिपके हुए जेनकींस को पंजीकृत करेगा और 100% समान काम करेगा।
यदि यह काम करता है तो यदि आपको भविष्य की सुरक्षा के लिए बैकअप की आवश्यकता है, तो कहीं जेनकिंस फ़ोल्डर की प्रतिलिपि बनाएँ। यह स्नैपशॉट की तरह काम करेगा।