Как экспортировать/импортировать конфигурацию Jenkins?
Jenkins CLI предоставляет функцию экспорта и импорта отдельных заданий, например:
java -jar jenkins-cli.jar -s http://foo-jenkins.tld:8080 get-job myjob > myjob.xml
java -jar jenkins-cli.jar -s http://bar-jenkins.tld:8080 create-job newmyjob < myjob.xml
Возможно ли это и как сделать резервную копию и восстановить конфигурации?
Я имею в виду все настройки:
- конфигурацию системы,
- глобальная конфигурация безопасности,
- учетные данные,
- глобальная конфигурация инструмента,
- конфигурация плагинов ( "Конфигурация HTTP-прокси" и список установленных плагинов)
- узлы
- пользователи
- ничего не пропало?
Все настройки сразу или, возможно, даже как отдельные процессы резервного копирования/восстановления, например, например. MozBackup с его "выбором компонентов"
![MozBackup - Components selection]()
или eclipse с диалоговым окном "Экспортные настройки"
![eclipse - Export Preferences]()
Ответы
Ответ 1
Нет простого способа резервного копирования/экспорта выбранных частей конфигурации, поскольку данные конфигурации Jenkins разбросаны среди
- несколько файлов (глобальный
config.xml
, множество файлов, связанных с плагинами)
- несколько подкаталогов (учетные данные, узлы) и
- некоторые из файлов зашифрованы (учетные данные), поэтому вы также должны создавать резервные копии ключей шифрования
Самое чистое решение - создать резервную копию всего $JENKINS_HOME
, а исключить те части, которые вы не хотите быть частью резервной копии (например, исключить jobs/*/builds
). С этим вы также получите размер резервной копии.
Такая резервная копия должна выполняться на уровне файловой системы, так как нет API для доступа ко всем этим файлам/данным.
Не полагайтесь на thinBackup
, так как вы зависите от поддерживающих плагинов, чтобы не пропустить ничего важного. Например, текущая версия thinBackup
версии 1.7.4 не будет сохранять секретные ключи Дженкинса, поэтому невозможно восстановить учетные данные с нуля.
Ответ 2
Возможно, плагин thinBackup поможет вам:
https://wiki.jenkins-ci.org/display/JENKINS/thinBackup
Ответ 3
Указанное требование может быть легко достигнуто с помощью следующего плагина
https://wiki.jenkins-ci.org/display/JENKINS/JobConfigHistory+Plugin
Ниже будут решены проблемы при использовании этого плагина
- Изменения конфигурации версии
- Изменения конфигурации можно сравнить
- Изменения конфигурации могут быть возвращены назад