記一次因jenkins重啟導致的項目全部丟失的問題
背景
-
今天下午部門反饋jenkins構建項目一直轉圈,點stop也不能停止。這個一直轉圈卡住是由於svn代碼從svn協議改變為https協議,路徑變了導致jenkins不能拉取代碼而一直阻塞在哪里。但我要重新構建啊,怎么辦?
於是我重啟了jenkins,但是重啟后,登陸發現之前部署的項目全沒了,此時此刻,我心里一萬只馬奔騰而過,一臉懵逼。由於沒找到問題,就讓項目組手動打包上傳服務器
解決辦法
-
找到自己的jenkins的home目錄
[root@VM_0_17_centos jenkins]# ps -ef|grep jenkins root 7637 1 0 2019 ? 05:12:12 /opt/jdk1.8.0_121/bin/java -Dcom.sun.akuma.Daemon=daemonized -Djava.awt.headless=true -DJENKINS_HOME=/var/lib/jenkins -jar /usr/lib/jenkins/jenkins.war --logfile=/var/log/jenkins/jenkins.log --webroot=/var/cache/jenkins/war --daemon --httpPort=10010 --debug=5 --handlerCountMax=100 --handlerCountMaxIdle=20
可以看出我的jenkins的home目錄是/var/lib/jenkins
-
編輯/etc/profile文件,增添jenkins的環境變量,讓jenkins啟動能從這個環境變量指向的home路徑去加載我們之前配置的項目構建job信息
[root@VM-0-9-centos jenkins]# vim /etc/profile 在文件最后添加: export JENKINS_HOME=/var/lib/jenkins 保存退出 別忘了使剛才編輯的環境變量文件生效,source一下 root@VM-0-9-centos jenkins]# source /etc/profile
-
重啟jenkins
nohup java -jar jenkins.war --httpPort=10010 &
當執行完以上步驟后,即可看到我們之前部署的job都重新展示出來了。holy shit!
其他
如果還不行的話,大家可以再試下如下方式,我是成功的。
- 進入jenkins.war解壓的目錄
[root@VM-0-9-centos WEB-INF]# cd /var/cache/jenkins/war/WEB-INF
[root@VM-0-9-centos WEB-INF]# vim web.xml
<env-entry>
<env-entry-name>HUDSON_HOME</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>/var/lib/jenkins</env-entry-value> //找到這里,並把home路徑放在這里
</env-entry>
保存退出!
以上!