今天有点心血来潮,看到管理中有一个新版本提示,可以直接点击自动升级,就把jenkins自动升级到了2.305,重启之后就直接爆炸进不去
java.lang.IllegalStateException: An attempt to save the global configuration was made before it was loaded
at jenkins.model.Jenkins.save (Jenkins.java: 3461)
at jenkins.model.Jenkins.saveQuietly(Jenkins.java: 3480)
at jenkins.model. Jenkins.setSecurityRealm(Jenkins.java:2707)
at jenkins.model.Jenkins$15.run(Jenkins.java: 3423)
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: 1160)
at org.jvnet.hudson. reactor.Reactor$2.run(Reactor.java:214)
at org.jvmet.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:1149)
at java.util.concurrent.ThreadPoolExecutor$orker.run(ThreadPoolExecutor.java:624)
at java.lang. Thread. run(Thread. java: 748)
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: 1193)
at jenkins.model.Jenkins.<init>(Jenkins.java: 991)
at hudson.model.Hudson.<init>(Hudson. java: 86)
at hudson.model.Hudson.<init>(Hudson.java:82)
at hudson. WebAppMain$3.run(WebAppMain. java: 298)
Caused: hudson.util.HudsonFailedToLoad
at hudson. WebAppMain$3.run (WebAppMain.java: 315)
官方玩档说明:https://www.jenkins.io/zh/doc/upgrade-guide/2.204/
Jenkins docs说,这是由于配置为代码插件,并将jvm参数设置为-Dio.jenkins.plugins.casc.ConfigurationAsCode.initialDelay=9000。(好像并没有什么用)
解决方法
下载hpi文件,并将其放到/var/lib/jenkins/plugins/文件夹.。
Role strategy hpi plugin的下载链接为:https://updates.jenkins.io/latest/role-strategy.hpi
文件完以后重启jenkins服务:
systemctl restart jenkins