Yanıtlar:
Bunu yapmanın pek çok yolu var, ancak sanırım en kolay yolu Jenkins Home klasörünün yedeğini almak.
Jenkins'inin evde nerede olduğunu görebilirsin:
echo $JENKINS_HOME
Ve örneğin, yalnızca işleri yedeklemek istiyorsanız, şuraya gidebilirsiniz:
cd $JENKINS_HOME/jobs
Ve bu klasör için bir yedekleme yapın.
Bütün bu yapılandırma bir sürü XML dosyası olacak.
Eğer kullanıyorsanız resmi Jenkins liman işçisi görüntü , ev olacak:
/var/jenkins_home
$JENKINS_HOME
: ortam değişkeninin sudo su -s /bin/bash jenkins
sonra ve echo $JENKINS_HOME
benim için hangi/var/lib/jenkins
Tüm işler ( jobs/
) ve ana yapılandırma dosyaları ( config.xml
) , aşağıdaki yapıdaki Jenkins home klasöründe ( JENKINS_HOME
) bulunabilir:
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)
Config .xml
dosyasının çoğu XML biçimindedir, bu nedenle tüm dosyaların desteklenmesi yeterlidir.
Tüm ayarlar, kayıt günlükleri, yapay arşivler JENKINS_HOME dizini altında saklanır. Yedekleme yapmak için bu dizini arşivlemeniz yeterlidir. Benzer şekilde, verileri geri yüklemek sadece JENKINS_HOME dizininin içeriğini yedeklemekten değiştirmektir.
Sunucu durdurulmadan yedek alınabilir, ancak geri yüklediğinizde, lütfen sunucuyu durdurun.
Tutarlı yedeklemeler için, JENKINS_HOME
dizini Git deposunda tutmak iyi bir uygulamadır .
Örneğin:
cd $JENKINS_HOME
git init
shopt -s globstar
git add **/config.xml
git commit -m'Added job config files' -a
ve dosyaları harici depoya iterek. Bazı dosyaları yoksaymak için aşağıdaki .gitignore
dosyayı da ekleyebilirsiniz .
İlgili: Hudson / Jenkins yapılandırma dosyalarını kaynak kontrolünde tutmanın bir yolu var mı?
Jenkins işleriniz bir Jenkinsfile dosyasında tanımlanmışsa, bir git deposunda saklayabilir ve Pipeline kullanarak yüklenmesini sağlayabilirsiniz .
Ne yazık ki, tüm Jenkins eklentileri Jenkinsfile ve Pipeline'ı desteklemediğinden, mevcut işleri bu formata taşımak istiyorsanız manuel olarak yeni Jenkinsfiles oluşturmanız gerekir.
SCM Sync Yapılandırma Eklentisi istediğiniz tam olarak ne yapar. Jenkins çekirdeğinizi ve iş yapılandırmanızı yedeklemek için svn veya git ile çalışır, böylece yedeklemenin yanı sıra değişiklik yapanlar için de kolay izleme yapabilirsiniz.
Jenkins verilerini ve ana yapılandırmaları yedeklemenin birkaç yolu vardır. Yedeklemenin en iyi yolu, Thinbackup eklentisini kullanmaktır. Cron ifadelerini kullanarak zamanında yedeklemeler zamanlayabilirsiniz. Tam yedeklemeyi ve artımlı yedeklemeyi de yapılandırabilirsiniz.
Veri ve yapılandırma yedeklemenin bir başka yolu da, jenkins ana sunucunuzun disk görüntüsünü almaktır. Bunu bir diski monte ederek ve jenkins config dizinini disk montaj noktasına bağlayarak yapmanın ideal yolu
Her iki senaryo da bu blog gönderisinde iyi açıklanmıştır . Konfigürasyonlar için daha iyi bir fikir ve adımlar elde edersiniz.
Ben komut dosyalarını kullanıyorum sue445/jenkins-backup-script
.
Jenkins ayarlarını ve eklentilerini aşağıdaki gibi arşivler:
$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 eklentisini deneyebilirsiniz (aktif olarak korunmasa bile) [ mantıksal bir yedekleme almak istediğiniz her şeyse ] (yani config xml dosyalarının, işlerin, düğümlerin çoğu gibi). Yedekleme boyutu çok büyük olmayacak.
Jenkins'i bir Windows Server örneğinden diğerine geçirmem gerekiyordu. Sonunda böyle yapmayı başardım:
C:\Program Files x86\Jenkins
)jenkins.exe install
Bu, yeni yapıştırılan Jenkins'i yeni makineye bir servis olarak kaydeder ve% 100 aynı şekilde çalışır.
Bu işe yararsa, gelecekteki güvenlik için bir yedeğe ihtiyacınız varsa, Jenkins klasörünü bir yere kopyalayın. Anlık görüntü gibi çalışacaktır.