點擊jenkins升級後再點擊回滾到以前版本,jenkins就起不來了。java
欲哭無淚,報錯以下react
hudson.util.HudsonFailedToLoad: org.jvnet.hudson.reactor.ReactorException: java.io.IOException: Unable to read /var/lib/jenkins/config.xml at hudson.WebAppMain$3.run(WebAppMain.java:248) Caused by: org.jvnet.hudson.reactor.ReactorException: java.io.IOException: Unable to read /var/lib/jenkins/config.xml at org.jvnet.hudson.reactor.Reactor.execute(Reactor.java:269) at jenkins.InitReactorRunner.run(InitReactorRunner.java:47) at jenkins.model.Jenkins.executeReactor(Jenkins.java:1075) at jenkins.model.Jenkins.<init>(Jenkins.java:915) at hudson.model.Hudson.<init>(Hudson.java:85) at hudson.model.Hudson.<init>(Hudson.java:81) at hudson.WebAppMain$3.run(WebAppMain.java:231) Caused by: java.io.IOException: Unable to read /var/lib/jenkins/config.xml at hudson.XmlFile.unmarshal(XmlFile.java:160) at jenkins.model.Jenkins.loadConfig(Jenkins.java:2977) at jenkins.model.Jenkins.access$1100(Jenkins.java:325) at jenkins.model.Jenkins$16.run(Jenkins.java:2995) at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:169) at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:282) at jenkins.model.Jenkins$7.runTask(Jenkins.java:1051) at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:210) at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117) 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 by: com.thoughtworks.xstream.io.StreamException: : only 1.0 is supported as <?xml version not '1.1' (position: START_DOCUMENT seen <?xml version=\'1.1\'... @1:19) at com.thoughtworks.xstream.io.xml.XppReader.pullNextEvent(XppReader.java:124) at com.thoughtworks.xstream.io.xml.AbstractPullReader.readRealEvent(AbstractPullReader.java:148) at com.thoughtworks.xstream.io.xml.AbstractPullReader.readEvent(AbstractPullReader.java:141) at com.thoughtworks.xstream.io.xml.AbstractPullReader.move(AbstractPullReader.java:118) at com.thoughtworks.xstream.io.xml.AbstractPullReader.moveDown(AbstractPullReader.java:103) at com.thoughtworks.xstream.io.xml.XppReader.<init>(XppReader.java:63) at com.thoughtworks.xstream.io.xml.AbstractXppDriver.createReader(AbstractXppDriver.java:54) at com.thoughtworks.xstream.io.xml.AbstractXppDriver.createReader(AbstractXppDriver.java:65) at hudson.XmlFile.unmarshal(XmlFile.java:158) ... 11 more Caused by: org.xmlpull.v1.XmlPullParserException: only 1.0 is supported as <?xml version not '1.1' (position: START_DOCUMENT seen <?xml version=\'1.1\'... @1:19) at org.xmlpull.mxp1.MXParser.parseXmlDeclWithVersion(MXParser.java:2608) at org.xmlpull.mxp1.MXParser.parseXmlDecl(MXParser.java:2592) at org.xmlpull.mxp1.MXParser.parsePI(MXParser.java:2466) at org.xmlpull.mxp1.MXParser.parseProlog(MXParser.java:1447) at org.xmlpull.mxp1.MXParser.nextImpl(MXParser.java:1395) at org.xmlpull.mxp1.MXParser.next(MXParser.java:1093) at com.thoughtworks.xstream.io.xml.XppReader.pullNextEvent(XppReader.java:109) ... 19 more
幸虧以前用ThinBackup插件作了每日備份。安全
問題緣由:升級jenkins以後配置文件格式變化,致使降配後的jenkins沒法讀取配置文件bash
1,cd /var/lib/jenkins/ #進入到jenkins的程序目錄ui
mv config.xml config.xmlbak #重命名插件
2,cd /backupjenkins #切換到ThinBackup的備份目錄rest
cd FULL-2018-02-05_00-00 #切換到每日備份目錄xml
cp config.xml /var/lib/jenkins/ #還原配置文件blog
3,service jenkins restart #重啓jenkinsjenkins
4,大功告成,jenkins又能夠恢復使用啦~跑了幾個構建也ok。
不要隨意升級jenkins,升級操做請謹慎,升級以前請對程序目錄進行備份;養成備份的好習慣,別等到宕機才欲哭無淚
ps:其實重命名config.xml後重啓jenkins已經能夠重啓成功了,可是相關的用戶配置和安全策略都沒有了,jenkins處於沒有保護的狀態,因此最好是使用以前的配置文件進行還原。