duk*_*ash 5 jenkins jenkins-plugins configuration-as-code
我从 jenkins 2.219 升级到 2.272(撰写本文时的最新版本),现在在 Jenkins 启动时获得下面的堆栈跟踪。
Jenkins 文档说这是由于 Configuration as Code 插件并将 jvm args 设置为-Dio.jenkins.plugins.casc.ConfigurationAsCode.initialDelay=9000. 文档还说要增加值直到错误消失,但到目前为止我480000仍然遇到错误。我也没有看到我已经安装了 Configuration as Code 插件。
如何解决这个问题?
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)
Run Code Online (Sandbox Code Playgroud)
Eri*_*aub 10
对于遇到此问题的任何人,需要首先降级到https://get.jenkins.io/war-stable/2.263.1/ 。然后重新启动服务,然后升级所有插件,然后再次尝试 LTS 升级,至少对我来说它工作得很好。
有关此问题的更多详细信息,请访问: https://www.jenkins.io/doc/upgrade-guide/2.204/
严重 jenkins.InitReactorRunner$1#onTaskFailed: Failed ConfigurationAsCode.init java.lang.IllegalStateException: 在加载之前尝试保存全局配置 如果遇到这种情况,您可以告诉插件延迟配置一段时间在插件应用配置之前,给 Jenkins 时间加载全局配置。
要启用此功能,请将 io.jenkins.plugins.casc.ConfigurationAsCode.initialDelay 系统属性设置为毫秒数以延迟初始化。所需的值将取决于您的系统(CPU/磁盘)和配置的各个方面,并且如何找到它主要是反复试验。建议从 5000(5 秒)开始,然后增加 2000(2 秒),直到不再出现问题为止,最后添加 1000(1 秒)以获得额外的安全性。例如,要将配置延迟 9 秒,您可以使用类似于以下命令 java -Dio.jenkins.plugins.casc.ConfigurationAsCode.initialDelay=9000 -jar jenkins.war 的命令。指定此选项的具体方式和位置取决于用于安装 Jenkins 的安装方法
然而对我来说,如果不先降级,升级所有插件,最后再次升级核心,解决方法就不起作用。
为了在您实际上尚未安装 Casc 插件时提前避免此问题:
更新到https://github.com/jenkinsci/role-strategy-plugin/releases/tag/role-strategy-3.1,你应该没问题。
当jenkins已经处于故障状态时:
下载 hpi 并将 hpi 文件放入 JENKINS_HOME/plugins 文件夹中。 https://updates.jenkins.io/download/plugins/role-strategy/
(信息取自:https ://github.com/jenkinsci/configuration-as-code-plugin/issues/1531 )
我遇到了同样的问题。我已经从https://www.jenkins.io/download/下载了 jenkins.war ,早期版本(2.263.1)。停止詹金斯并用我的安装目录(C:\ Program Files \ Jenkins)替换战争。并启动了詹金斯。这就像一个魅力。
您可以下载 hpi 并将 hpi 文件放入 JENKINS_HOME/plugins 文件夹中。通常 jenkins 插件目录将位于 - 下/var/lib/jenkins/plugins/。
获取角色策略 hpi 插件的链接 - https://updates.jenkins.io/latest/role-strategy.hpi。并使用以下命令重新启动 Jenkins:systemctl restart jenkins。