最近的工作中用到了Jenkins,并且需要将原有的服务器中的Jenkins迁移到新服务器。网上查了很多资料,然后结合自己实际操作写了本篇博客,希望能给大家提供帮助。
目录
Jenkins简介
Jenkins安装
备份迁移
升级
安装过程中遇到的问题整理
Jenkins是一款用Java语言开发的开源的自动化服务器。我们通过界面或者Jenkinsfile告诉它执行什么任务何时执行。理论上,我们可以让它执行任何任务,但是通常只应用于持续集成和持续交付。
使用Jenkins能够提升软件工程生产力的根本原因在于它提供的是一个自动化平台,一个团队引入了Jenkins就像是原来手工作坊式的工厂引入了生产流水线。
1、下载 https://pkg.jenkins.io/redhat-stable/ 下载合适的版本,下载完以后通过rz -y命令将安装包上传到服务器中(centos7)。
2、安装命令
sudo rpm -ih jenkins-2.73.2-1.1.noarch.rpm
自动安装完成之后:
/usr/lib/jenkins/jenkins.war WAR包
/etc/sysconfig/jenkins 配置文件
/var/lib/jenkins/ 默认的JENKINS_HOME目录(做迁移的时候备份的文件是JENKINS_HOME,有的是jenkins,此处一定要注意)
/var/log/jenkins/jenkins.log Jenkins日志文件
3、启动Jenkins
sudo service jenkins start
4、启动成功之后第一次登录需要输入管理员密码,密码存放位置在/var/lib/jenkins/secrets/initialAdminPassword路径下,通过
vi /var/lib/jenkins/secrets/initialAdminPassword
命令打开,复制密码即可。
5、第一次加载需要安装插件,输入完成后会提示安装自定义插件还是推荐插件。选择推荐插件,安装过程可能由于网络原因导致失败,后续失败的可以在系统设置-插件管理里面卸载或者重新安装即可。
6、插件安装完成以后需会跳转到创建用户和密码的界面,创建一下登录就可以了。
接下来说一下迁移操作,楼主在迁移原来的Jenkins的时候需要备份的文件路径为:/var/lib/jenkins_home/,其实就是刚刚安装的/var/lib/jenkins/路径。首先将原来的jenkins_home文件夹进行备份
1、停止新服务器上安装的Jenkins服务,将备份的jenkins_home文件夹复制到新服务中的/var/lib路径下,保险起见可以将服务器中jenkins修改一下名字不要删除
2、将复制过来的jenkins_home文件夹重命名为jenkins,在/var/lib路径下执行如下命令
mv jenkins_home jenkins
此时就将jenkins_home文件夹修改成为了jenkins。
3、jenkins需要安装并配置jdk,jdk的安装参考https://www.cnblogs.com/linchengxinsx/p/9148728.html。安装完成以后
编辑/etc/init.d/jenkins文件,添加下图中红框中内容其中/usr/local/java/jdk1.8.0_131为jdk安装路径,后面再加上/bin/java
备注:如果安装Jenkins遇到无法找到jdk用该步骤可以解决。
升级比较简单
如下图,系统管理—>下载。将jenkin.war包下载之后替换掉安装时/usr/lib/jenkins/jenkins.war 路径下的war然后重启就可以,也可以从Jenkins的官网下载war包进行替换
编辑 /etc/init.d/jenkins
vim /etc/ini.d/jenkins 进入编辑模式后寻找8080的字样,新版的jenkins并没有找到
但有配置的路径,如图所示。
vim /etc/sysconfig/jenkins
1、jenkins.service changed on disk. Run 'systemctl daemon-reload' to reload units
参考链接:https://www.ctolib.com/topics-135160.html
像他提示的那样,进行systemctl daemon-reload
然后systemctl restart jenkins重启
2、Failed to connect to repository : Error performing command: git ls-remote -h http://192.168.0.22/finance/AMS-Server.git HEAD
解决方法:Jenkins服务器上查看git是否已安装及安装位置
git version
whereis git
通过命令
yum install git
在服务器安装git然后重启Jenkins即可
3、修改权限,如果在登录Jenkins的时候遇到
报错信息:Jenkins throwing error: jenkins.model.InvalidBuildsDir: ${ITEM_ROOTDIR}/builds does not exist and probably cannot be created
方法一: 使用root用户来管理jenkins(简单粗暴)
由于jenkins自动部署会用到shell命令,使用root用户会避免遇到更多的问题(但是实际生产中,更推荐不要使用root用户)
$ vim /etc/sysconfig/jenkins # 打开配置文件
$JENKINS_USER="root" # 修改$JENKINS_USER变量为root,并去掉当前行注释
#修改Jenkins相关文件夹用户权限(必须修改)
$ chown -R root:root /var/lib/jenkins
$ chown -R root:root /var/log/jenkins
$ chown -R root:root /var/cache/jenkins
#重启Jenkins服务并检查运行Jenkins的用户是否已经切换为root
$ service jenkins restart
$ ps -ef | grep jenkins # 查看Jenkins进程所属用户
方法二:新建用户【推荐】
$ useradd song #添加新用户song
$ vim /etc/sysconfig/jenkins # 打开配置文件
$JENKINS_USER="song" # 修改$JENKINS_USER变量为root,并去掉当前行注释
#修改Jenkins相关文件夹用户权限(必须修改)
$ chown -R song:song /var/lib/jenkins
$ chown -R song:song /var/log/jenkins
$ chown -R song:song /var/cache/jenkins
#重启Jenkins服务并检查运行Jenkins的用户是否已经切换为song
$ systemctl restart jenkins
$ ps -ef | grep jenkins # 查看Jenkins进程所属用户
启动成功之后,登录Jenkins你会发现原来的内容已经都存在了
参考连接:https://blog.csdn.net/wangfei0904306/article/details/56011877
4、有时我们需要下载相关插件,但是Jenkins上的插件是从国外网站下载的,会非常慢甚至现在不成功,事实证明下载不成功的情况会很多,因此我们可以通过离线下载的方式去下载需要的插件然后手动导入到Jenkins并重启Jenkins即可。
(1)、Jenkins插件离线下载地址:http://updates.jenkins-ci.org/download/plugins/
(2)、通过离线下载地址找到需要的插件,下载到本地,然后打开:系统管理—> 插件管理—>高级—>上传插件,选择本地下载好的插件点击上传,上传完重启Jenkins
欢迎加我微信咨询问题