Я обновился с jenkins 2.219 до 2.272 (последняя версия на момент написания этой статьи) и теперь получаю трассировку стека ниже при запуске Jenkins.
В документации Jenkins говорится, что это происходит из-за плагина «Конфигурация как код» и установки аргументов jvm как -Dio.jenkins.plugins.casc.ConfigurationAsCode.initialDelay=9000
. В документах также говорится увеличивать значение до тех пор, пока ошибка не исчезнет, но пока я нахожусь в 480000
и все еще получаю сообщение об ошибке. Я также не вижу, что у меня все равно установлен плагин «Конфигурация как код».
Как это можно исправить?
java.lang.IllegalStateException: An attempt to save the global configuration was made before it was loaded
at jenkins.model.Jenkins.save(Jenkins.java:3379)
at jenkins.model.Jenkins.saveQuietly(Jenkins.java:3398)
at jenkins.model.Jenkins.setSecurityRealm(Jenkins.java:2637)
at jenkins.model.Jenkins$16.run(Jenkins.java:3342)
at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:169)
at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:296)
at jenkins.model.Jenkins$5.runTask(Jenkins.java:1129)
at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:214)
at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117)
at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:68)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused: org.jvnet.hudson.reactor.ReactorException
at org.jvnet.hudson.reactor.Reactor.execute(Reactor.java:282)
at jenkins.InitReactorRunner.run(InitReactorRunner.java:50)
at jenkins.model.Jenkins.executeReactor(Jenkins.java:1162)
at jenkins.model.Jenkins.<init>(Jenkins.java:962)
at hudson.model.Hudson.<init>(Hudson.java:85)
at hudson.model.Hudson.<init>(Hudson.java:81)
at hudson.WebAppMain$3.run(WebAppMain.java:295)
Caused: hudson.util.HudsonFailedToLoad
at hudson.WebAppMain$3.run(WebAppMain.java:312)
Та же проблема и здесь ... у нас также есть плагин «Конфигурация как код», и мы пытались увеличить задержку до глупо долгого времени. Узнав об этом из предыдущего случая, мы вернулись к файлу войны 2.267 из версии 2.276.
к вашему сведению, мне пришлось «rpm --import pkg.jenkins.io/redhat-stable/jenkins.io.key » для обновления, затем я наткнулся на IllegalStateException и сделал «yum downgrade archives.jenkins-ci.org/redhat /jenkins-2.255-1.1.noarch.rpm", чтобы Дженкинс снова заработал
Я столкнулся с той же проблемой. Я скачал jenkins.war, более раннюю версию (2.263.1) с https://www.jenkins.io/download/. Остановил jenkins и заменил войну моим каталогом установки (C:\Program Files\Jenkins). И запустил Дженкинс. Это работает как шарм.
Да, мне тоже пришлось понизить.
У нас была такая же проблема после обновления до последней версии. После некоторых поисков мы решили использовать более низкую версию с поддержкой LTS, в данном случае 2.263.1. Эта версия работала мгновенно, поэтому я думаю, что эта ошибка является ошибкой.
у нас есть аналогичная проблема, решенная путем понижения версии файла jenkins.war, загруженного с URL-адреса: https://get.jenkins.io/war-stable/2.263.1/
Для всех, у кого есть эта проблема, да, сначала требуется перейти на https://get.jenkins.io/war-stable/2.263.1/. Затем перезапустите службу, затем обновите все свои плагины, затем снова попробуйте обновление LTS, по крайней мере, для меня это сработало просто отлично.
Подробнее о проблеме здесь: https://www.jenkins.io/doc/upgrade-guide/2.204/
СЕРЬЕЗНЫЙ jenkins.InitReactorRunner$1#onTaskFailed: Ошибка ConfigurationAsCode.init java.lang.IllegalStateException: попытка чтобы сохранить глобальную конфигурацию, сделанную до ее загрузки. Если вы столкнулись с этим, вы можете указать плагину отложить настройку для количество времени, чтобы дать Дженкинсу время загрузить глобальный конфигурации до того, как конфигурация будет применена плагином.
Чтобы включить это, установите Система io.jenkins.plugins.casc.ConfigurationAsCode.initialDelay свойство на количество миллисекунд, чтобы отложить инициализацию. требуемое значение будет зависеть от аспектов вашей системы (процессор/диск) и конфигурация, и то, как это можно найти, в основном является пробным и ошибка. Предлагается начать с 5000 (5 секунд), а затем увеличивайте на 2000 (2 секунды), пока проблема не исчезнет и, наконец, добавьте 1000 (1 секунда) для дополнительной безопасности. Например, чтобы задержать настройку на 9 секунд, вы бы использовали что-то вроде следующая команда java -Dio.jenkins.plugins.casc.ConfigurationAsCode.initialDelay=9000 -jar jenkins.war. Как именно и где вы укажете эту опцию, зависит от метод установки, используемый для установки Jenkins
Однако для меня обходной путь не работал без предварительного понижения версии, обновления всех плагинов и, наконец, повторного обновления ядра.
Спасибо. у меня сработала простая замена файла war, так как кто-то случайно обновил jenkins, когда в этом не было абсолютно никакой необходимости.
Это очень и очень плохой образ мышления. Дженкинс всегда должен быть в курсе. Большинство этих обновлений связаны с проблемами безопасности. Если вы не обновите Jenkins, и я войду в вашу сеть, я могу владеть локальным администратором или учетной записью root в поле, на котором он размещен. Не будьте причиной того, что ваш исходный код был украден или вы столкнулись с атакой программ-вымогателей, ВСЕГДА обновляйте свои вещи, это часть управления платформой, если у вас нет времени разбираться с этим, не используйте Jenkins.
Вы можете загрузить файл hpi и поместить файл hpi в папку JENKINS_HOME/plugins. Обычно каталог плагинов jenkins находится под — /var/lib/jenkins/plugins/
.
Ссылка для скачивания плагина HP Role Strategy — https://updates.jenkins.io/latest/role-strategy.hpi. И перезапустите Jenkins с помощью этой команды: systemctl restart jenkins
.
Чтобы избежать этой проблемы заранее, если вы на самом деле не установили плагин Casc:
Обновите до https://github.com/jenkinsci/role-strategy-plugin/releases/tag/role-strategy-3.1 и все будет в порядке.
Когда Дженкинс уже находится в неисправном состоянии:
скачайте hpi и поместите файл hpi в папку JENKINS_HOME/plugins. https://updates.jenkins.io/download/plugins/role-strategy/
(информация взята с: https://github.com/jenkinsci/configuration-as-code-plugin/issues/1531)
Спасибо. Сначала я обновил плагин, а затем Jenkins. Моя проблема решена.
Спасибо, это решило проблему, обновил плагин, а затем снова обновил jenkins.
Я столкнулся с подобной проблемой и обнаружил, что нам не нужно понижать версию. Ниже приведены шаги, которые я выполнил, и это сработало для меня.
сначала обновите глобальный плагин, т.е. стратегию авторизации на основе ролей, из консоли Jenkins.
Вот шаги, которые я выполнил:
#на убунту, в /usr/share/jenkins
:
sudo service jenkins stop
sudo mv jenkins.war jenkins.war.old
sudo wget https://updates.jenkins-ci.org/latest/jenkins.war
sudo chown -R jenkins:jenkins jenkins.war
sudo service jenkins start
Разве эта строка с «debian-stable/binary/jenkins_2.235.5_all.deb» все еще не является понижением версии? Видя, что 2.263.4 более свежая версия.
@ analyst47 да, теперь его версия понижена, но это всего лишь пример, можно использовать любую версию по выбору.
Мой сценарий заключался в том, чтобы обновить Jenkins до последней версии, а затем восстановить данные в нем, чтобы они работали так же, как и раньше.
При обновлении с Jenkins v2.263 до v2.303 у меня была такая же ошибка. Единственное, что сработало для меня, это обновить мой глобальный плагин, то есть сначала стратегию авторизации на основе ролей, а затем Jenkins. Это работало как хрустящая корочка.
у меня все еще такая же ситуация, при обновлении jenkins jenkins_2.263.4 до 2.289.3 или выше, есть ли какое-либо решение, кроме понижения. я уже обновил role-strategy.hpi. до 3,2 . все равно не поможет. любое другое решение?
Эй, Чанду. Я уже упоминал решение, отличное от понижения версии Jenkins. Вам нужно определить плагин, который имеет глобальное представление в вашем Jenkins. В моем случае я использовал стратегию авторизации на основе ролей. Сначала я обновил свой плагин, а затем обновил Jenkins. Трюк сработал.
спасибо!, я уже обновил плагин стратегии авторизации на основе ролей. Но в моем случае я обновил все другие плагины, которые помогли, я думаю, что в основном это были обновления matri-auth и ldap.
У меня такая же ошибка на Jenkins 2.332.2 и обновленном плагине role-strategy v483.v17281966f5c3.
Мне пришлось скачать плагин версии 3.2.0 и поместить его прямо в папку плагинов jenkins. (ранее я удалил существующий файл '.jpi')
Затем перезапустите Jenkins /etc/init.d/jenkins restart
, и проблема исчезнет.
Спасибо за инфу!
Я тоже столкнулся с точной ошибкой