Назад | Перейти на главную страницу

Загрузите конфигурацию Jenkins из config.xml

Я пытаюсь определить свою инфраструктуру как код. Для этого я развернул 2 сервера Jenkins с марионеткой. Затем я вручную настроил один и скопировал рабочий config.xml в другой.

Поскольку jenkins имеет возможность читать в файле config.xml, я ожидаю, что второй сервер jenkins будет идентичным близнецом первого.

К сожалению, второй сервер jenkins выходит из строя при запуске со следующей ошибкой:

Manager password must not be empty or null.

Вещи, которые я пробовал:

Около:

Дженкинс 1,572
Плагин ldap 1.10.2

Я уверен, что есть способ скопировать конфигурацию с одного сервера jenkins на другой.
Кто-нибудь это сделал? Какие файлы мне не хватает?

Полная ошибка:

hudson.util.HudsonFailedToLoad: org.jvnet.hudson.reactor.ReactorException: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'initialDirContextFactory': Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are: PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'managerPassword' threw exception; nested exception is java.lang.IllegalArgumentException: Manager password must not be empty or null. at hudson.WebAppMain$3.run(WebAppMain.java:234) Caused by: org.jvnet.hudson.reactor.ReactorException: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'initialDirContextFactory': Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are: PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'managerPassword' threw exception; nested exception is java.lang.IllegalArgumentException: Manager password must not be empty or null. at org.jvnet.hudson.reactor.Reactor.execute(Reactor.java:269) at jenkins.InitReactorRunner.run(InitReactorRunner.java:44) at jenkins.model.Jenkins.executeReactor(Jenkins.java:896) at jenkins.model.Jenkins.<init>(Jenkins.java:795) at hudson.model.Hudson.<init>(Hudson.java:82) at hudson.model.Hudson.<init>(Hudson.java:78) at hudson.WebAppMain$3.run(WebAppMain.java:222) Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'initialDirContextFactory': Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are: PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'managerPassword' threw exception; nested exception is java.lang.IllegalArgumentException: Manager password must not be empty or null. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1279) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1010) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409) at java.security.AccessController.doPrivileged(Native Method) at

Обновить

Я попытался рекурсивно (и с сохранением разрешений) скопировать весь каталог / var / lib / jenkins с первичного сервера на вторичный и перезапустить. Это дает ту же ошибку о 'managerPassword'

Совсем недавно у меня была такая же ошибка. После установки значения false в config.xml и ручной настройки ldap на новом хосте я понял, что забыл импортировать сертификат в хранилище ключей java, поскольку мы используем ldaps. Вот шаги, которые я предпринял для решения проблемы. Для справки, я использую java-1.7.0-openjdk-1.7.0.65, jenkins v1.568 на Centos 6.5 полностью обновлен.

Остановить Дженкинса

service jenkins stop

Синхронизировать домашний каталог Jenkins (используется флаг -I для перезаписи существующих файлов):

rsync -avI user@old_host:/var/lib/jenkins/* /var/lib/jenkins/

Резервное копирование cacerts на новом хосте:

cp /etc/pki/java/cacerts /some/backup/dir

Скопируйте cacerts со старого хоста на новый (или импортируйте через keytool, если у вас есть другие сертификаты на этом новом хосте, которые вам нужно сохранить):

scp user@old_host:/etc/pki/java/cacerts /etc/pki/java/cacerts

(метод импорта: keytool -import -alias "some-name-for-cert" -keystore cacerts -trustcacerts -file "/path/to/cert.crt")

Начать Jenkins

service jenkins start

К сожалению, у меня недостаточно репутации, чтобы комментировать и рекомендовать импортировать сертификат, поэтому, пожалуйста, не будьте резкими, если это не поможет. Я зарегистрировался здесь, когда наткнулся на вашу ошибку. Надеюсь, поможет!

это случайная проблема, возникшая и у меня ... вы можете открыть файл config.xml в корневом каталоге Jenkins и включить ложный тег useSecurity. теперь вы сбросили управление безопасностью