背景

由于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/

image-20221110153945824

Maven安装

https://blog.csdn.net/mmc173168/article/details/125539756

Node安装

https://blog.csdn.net/weixin_38201500/article/details/124173797

Jenkins下载

版本确认

下载前,需要确认版本与待还原的版本一致。

如果可以登录页面,在如下路径查看。

image-20221110154818355

如果无法登录Jenkins页面,可以在 /root/.jenkins/config.xml 中查看,如下图所示。

image-20221110154522561

下载

下载地址:https://mirrors.jenkins-ci.org/war/

image-20221110102307896

安装与启动

确定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 

启动时可以看见日志,关闭窗口不影响程序正常运行。

image-20221110160047890

登录网页后,可以看见Job、Users、配置都已经还原。

image-20221110160343740

配置相关组件

确保需要的组件安装成功,且其环境变量配置完成。接下来在Jenkins / Global Tool Configuration 这里进行对应的配置即可。

image-20221110160513159

运行Job

运行成功。

如果存在问题,请参考FQA章节是否存在相似问题。

image-20221110160719525

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环境变量。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐