Відповіді:
Існує багато способів зробити це, але найпростіший спосіб, на який я думаю, це зробити резервну копію папки Jenkins Home.
Ви можете побачити, де знаходиться ваш дім з Дженкінсом:
echo $JENKINS_HOME
Наприклад, якщо ви хочете створити резервну копію завдань, ви можете перейти до:
cd $JENKINS_HOME/jobs
І зробіть резервну копію для цієї папки.
Вся ця конфігурація буде купою файлів XML .
Якщо ви використовуєте офіційне зображення докера Jenkins , дім буде ввімкнено:
/var/jenkins_home
$JENKINS_HOME
змінної середовища:, sudo su -s /bin/bash jenkins
а потім echo $JENKINS_HOME
, що для мене було/var/lib/jenkins
Усі завдання ( jobs/
) та основні файли конфігурації ( config.xml
) можна знайти в домашній папці Jenkins ( 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
каталог у репозиторії Git.
Наприклад:
cd $JENKINS_HOME
git init
shopt -s globstar
git add **/config.xml
git commit -m'Added job config files' -a
і переміщення файлів до зовнішнього сховища. Ви також можете додати наступний .gitignore
файл, щоб ігнорувати деякі файли.
Пов’язано: Чи існує спосіб збереження файлів конфігурації Хадсона / Дженкінса у контролі джерел?
Якщо ваші завдання Jenkins визначені в Jenkinsfile, ви можете зберігати його у сховищі git і завантажувати його за допомогою Pipeline .
На жаль, оскільки не всі плагіни Jenkins підтримують Jenkinsfile та Pipeline, вам потрібно буде вручну створити нові Jenkinsfiles, якщо ви хочете перенести існуючі завдання до цього формату.
SCM синхронізації конфігурації Plugin робить саме те , що ви хочете. Працює з svn або git, щоб створити резервну копію ядра і конфігурації роботи, тому ви можете легко відстежувати, хто вносив зміни, а також резервну копію.
Є кілька способів резервного копіювання даних джинкінів та майстерних конфігурацій. Найкращий спосіб резервного копіювання - використовувати плагін Thinbackup. Ви можете планувати своєчасне створення резервних копій за допомогою виразів cron. Ви також можете налаштувати повне резервне та додаткове резервне копіювання.
Ще один спосіб резервного копіювання даних та налаштування - це зробити знімок диска вашого майстерного сервера jenkins. Ідеальний спосіб зробити це, встановивши диск і з'єднавши каталог конфігурації jenkins до точки кріплення диска
Обидва сценарії добре пояснені в цій публікації блогу . Ви отримаєте кращу ідею та кроки щодо конфігурацій.
Я використовую сценарії від 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 Server на інший. Нарешті мені вдалося зробити це так:
C:\Program Files x86\Jenkins
)jenkins.exe install
Це зареєструє свіжозаклеєний Дженкінс як послугу на новій машині і буде працювати на 100% те саме.
Якщо це працює, тоді, якщо вам потрібна резервна копія лише для майбутньої безпеки, скопіюйте десь папку Дженкінса. Це буде працювати як знімок.