背景
由于Jenkins所在服务器突然宕机,是这篇文章最真实的由来。
及时做好备份,可以避免加班的次数,还有发量的减少。
PS: 大家有发现其他的问题,帮忙分享给我,感谢!
迁移文件
1、在原来的服务器上,压缩源文件
这里将整个包压缩,也可以只迁移jobs、users、workspace、plugins
# 压缩待迁移的Job文件 cd /root tar -czvf jenkins.tar.gz .jenkins
2、在新服务器,解压文件
# 解压Jenkins Job的压缩包 cd /root tar -zxvf jenkins.tar.gz
准备组件
按照需求准备Jenkins相关的组件。Git 、JDK 必备,Maven/Gradle、Node 按照相关的技术进行选择。
Git安装
https://blog.csdn.net/m0_67265654/article/details/123651222
JDK安装
https://blog.csdn.net/weixin_54792520/article/details/125039980
注意:JDK与Jenkins有版本对应,否则无法成功启动。详细版本对应关系。参考链接中Jenkins 版本与JDK版本的对应关系,https://mirrors.jenkins-ci.org/war/
Maven安装
https://blog.csdn.net/mmc173168/article/details/125539756
Node安装
https://blog.csdn.net/weixin_38201500/article/details/124173797
Jenkins下载
版本确认
下载前,需要确认版本与待还原的版本一致。
如果可以登录页面,在如下路径查看。
如果无法登录Jenkins页面,可以在 /root/.jenkins/config.xml 中查看,如下图所示。
下载
下载地址:https://mirrors.jenkins-ci.org/war/
安装与启动
确定war包所在路径
#在/home 目录下创建一个jenkins目录 mkdir /home/jenkins #将上传的包移动到jenkins目录 mv jenkins.war /home/jenkins
启动
完成之后可以手动直接启动,也可以写个脚本启动
手动启动
java -jar jenkins.war --httpPort=8099 --enable-future-java &
脚本脚本
启动脚本 - startup.sh
java -jar jenkins.war --httpPort=8099 --enable-future-java &2> jenkins.log
关闭脚本 - shutdown.sh
ps -ef |grep -v grep | grep jenkins | awk '{print $2}' | xargs kill -s 9 >/dev/null 2>&1
启动
./startup.sh
启动时可以看见日志,关闭窗口不影响程序正常运行。
登录网页后,可以看见Job、Users、配置都已经还原。
配置相关组件
确保需要的组件安装成功,且其环境变量配置完成。接下来在Jenkins / Global Tool Configuration 这里进行对应的配置即可。
运行Job
运行成功。
如果存在问题,请参考FQA章节是否存在相似问题。
FAQ
1、Job 运行时,出现类似错误:Cannot run program "mvn"
.
症状
FATAL: command execution failed java.io.IOException: error=2, 没有那个文件或目录 at java.lang.UNIXProcess.forkAndExec(Native Method) at java.lang.UNIXProcess.<init>(UNIXProcess.java:247) at java.lang.ProcessImpl.start(ProcessImpl.java:134) at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029) Caused: java.io.IOException: Cannot run program "mvn" (in directory "/root/.jenkins/workspace/产品2.0-8208-后端"): error=2, 没有那个文件或目录
原因
- 可能Maven没有安装成功,或者没有配置环境变量。(适用其他组件,如git、node等)
- 当前Job / Configure / Build 下的Maven可能不正确。(仅针对Maven)
方案
参考链接: https://www.oschina.net/question/1756518_2182111。
其他组件类似的错误,如 can not run program git,参考该方案尝试解决。
2、没有配置中文语言的页面,需要进行汉化
参考链接:https://blog.csdn.net/weixin_46785144/article/details/117887169
3、Jenkins启动时提示:Starting Jenkins Jenkins requires Java8 or later, but you are running 1.7.0
参考链接:https://mirrors.jenkins-ci.org/war/,查询当前Jenkins版本可以满足的JDK版本,并配置服务器当前环境的JDK环境变量。
关注公众号:熊猫Jay字节之旅,了解更多 AI 技巧 ~