Jenkins部署与基本配置下篇
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
一.Jenkins的基础优化配置
1.修改Jenkins的运行账号
1.1 修改启动脚本配置文件
(1)修改Jenkins的运行用户
[root@ubuntu12.yinzhengjie.com ~]# grep User /lib/systemd/system/jenkins.service
User=jenkins
[root@ubuntu12.yinzhengjie.com ~]#
[root@ubuntu12.yinzhengjie.com ~]# sed -i '/User=/s/jenkins/root/' /lib/systemd/system/jenkins.service
[root@ubuntu12.yinzhengjie.com ~]#
[root@ubuntu12.yinzhengjie.com ~]# grep User /lib/systemd/system/jenkins.service
User=root
[root@ubuntu12.yinzhengjie.com ~]#
(2)修改运行Jenkins的所属组
[root@ubuntu12.yinzhengjie.com ~]# grep Group /lib/systemd/system/jenkins.service
Group=jenkins
[root@ubuntu12.yinzhengjie.com ~]#
[root@ubuntu12.yinzhengjie.com ~]#
[root@ubuntu12.yinzhengjie.com ~]# sed -i '/Group=/s/jenkins/root/' /lib/systemd/system/jenkins.service
[root@ubuntu12.yinzhengjie.com ~]#
[root@ubuntu12.yinzhengjie.com ~]# grep Group /lib/systemd/system/jenkins.service
Group=root
[root@ubuntu12.yinzhengjie.com ~]#
温馨提示:
由于Jenkins需要操作各种组件,这意味着Jenkins将来要对相应组件有访问权限,默认的Jenkins用户若想要实现需要我们独立授权。
综上所述,对于初学者来说,建议直接使用root用户来运行Jenkins就可以先跳过权限运行失败的等问题啦~
1.2 重启启动Jenkins服务验证服务是否生效
[root@ubuntu12.yinzhengjie.com ~]# systemctl daemon-reload
[root@ubuntu12.yinzhengjie.com ~]#
[root@ubuntu12.yinzhengjie.com ~]# systemctl restart jenkins
[root@ubuntu12.yinzhengjie.com ~]#
[root@ubuntu12.yinzhengjie.com ~]# ps -ef | grep jenkins
root 11195 1 28 05:46 ? 00:00:05 /usr/bin/java -Djava.awt.headless=true -jar /usr/share/java/jenkins.war --webroot=/var/cache/jenkin/war --httpPort=8080
root 11333 2220 0 05:46 pts/1 00:00:00 grep --color=auto jenkins
[root@ubuntu12.yinzhengjie.com ~]#
2.更改Jenkins的镜像源为国内镜像站
2.1 修改国内的网址
(1)修改插件国内镜像源地址
[root@ubuntu12.yinzhengjie.com ~]# sed -i.bak 's#updates.jenkins.io/download#mirror.tuna.tsinghua.edu.cn/jenkins#g' /var/lib/jenkins/updates/default.json
[root@ubuntu12.yinzhengjie.com ~]#
[root@ubuntu12.yinzhengjie.com ~]# ll /var/lib/jenkins/updates/default.json*
-rw-r--r-- 1 jenkins jenkins 2774682 Feb 15 06:53 /var/lib/jenkins/updates/default.json
-rw-r--r-- 1 jenkins jenkins 2759578 Feb 15 02:18 /var/lib/jenkins/updates/default.json.bak
[root@ubuntu12.yinzhengjie.com ~]#
(2)修改搜索引擎地址
[root@ubuntu12.yinzhengjie.com ~]# sed -i 's#www.google.com#www.baidu.com#g' /var/lib/jenkins/updates/default.json
温馨提示:
如果是tomcat运行war包的方式需要下面路径。
sed -i.bak 's#updates.jenkins.io/download#mirror.tuna.tsinghua.edu.cn/jenkins#g' /root/.jenkins/updates/default.json
2.2 将升级站点URL替换成国内镜像地址
2.2.1 进入插件配置页面
如上图所示,依次点击"Manage Jenkins","Manage Plugins"就会看到如下图所示的界面。
2.2.2 将升级站点URL替换成国内的镜像地址
如上图所示,我们需要将默认的URL修改为清华园哟。
修改地址:
https://mirror.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
2.2.3 重启Jenkins服务使配置生效
[root@ubuntu12.yinzhengjie.com ~]# systemctl restart jenkins
3.配置Jenkins的汉化
3.1 搜索汉化插件
如上图所示,依次点击"Manage Jenkins","Manage Plugins"就会看到如下图所示的界面。
如下图所示。依次点击"Available Plugins",搜索"Chinese"有关的插件,勾选插件,安装插件并重启Jenkins服务。
3.2 安装Jenkins的汉化插件
如上图所示,需要勾选重启Jenkins选项时才会自动重启哟~
3.3 Jenkins汉化成功
如上图所示,需要重启Jenkins后配置就会生效哟!
如下图所示,重新登录Jenkins后,我们成功将Jenkins汉化啦!
如下图所示,查看已安装的插件,不难发现,我们仅仅安装了一个汉化功能,但它背后还安装了很多其他的依赖服务哟。
二.生产环境中如何快速部署插件
1 直接在Jenkins的可用插件仓库搜索安装(推荐,类似于yum管理)
如上图所示,我们可以在Jenkins的WebUI界面中搜索我们关心的插件进行下载即可。
对了,这种安装方式很简单,可以参考'汉化'过程的安装步骤。安装后需要重启Jenkins服务才能生效。
2 直接打包插件目录(推荐,类似于绿色安装,解压即用)
2.1 插件存储路径
如上图所示,我们Jenkins的数据目录"/var/lib/jenkins/plugins/"是有插件数据啦。
2.2 如何多台Jenkins快速部署插件
做法非常简单,大概分为以下3步骤:
- 先在一台Jenkins服务器上安装Jenkins插件;
- 将Jenkins插件打包并拷贝到其他Jenkins服务器的插件目录;
- 将Jenkins服务重启后就会自动加载拷贝过来的所有插件数据;
注意事项:
(1)要求Jenkins的版本最好保持一致哟~
3 直接下载hpi文件(不推荐,类似于rpm方式安装)
3.1 Jenkins国内插件镜像下载地址
如上图所示,我们可以在国内插件找到相关的插件。
Jenkins国内插件镜像下载地址:
https://mirror.tuna.tsinghua.edu.cn/jenkins/plugins/
3.2 安装gitlab插件
(1)下载gitlab插件的配置文件
[root@ubuntu12.yinzhengjie.com ~]# wget https://mirror.tuna.tsinghua.edu.cn/jenkins/plugins/gitlab-api/latest/gitlab-api.hpi
(2)将gitlab-api.hpi压缩包文件移动到插件目录
[root@ubuntu12.yinzhengjie.com ~]# mv gitlab-api.hpi /var/lib/jenkins/plugins/
[root@ubuntu12.yinzhengjie.com ~]#
[root@ubuntu12.yinzhengjie.com ~]# ll /var/lib/jenkins/plugins/*.hpi
-rw-r--r-- 1 root root 625635 Jul 25 2022 /var/lib/jenkins/plugins/gitlab-api.hpi
[root@ubuntu12.yinzhengjie.com ~]#
3.3 通过web界面重启Jenkins
如上图所示,我们可以通过发起http请求来重启Jenkins服务。
如下图所示,重启Jenkins成功后,你会发现就已经有gitlab插件啦,但如果想要使用该插件还需要安装其他的插件哟!
(1)下载gitlab api依赖的插件
[root@ubuntu12.yinzhengjie.com ~]# wget https://mirror.tuna.tsinghua.edu.cn/jenkins/plugins/apache-httpcomponents-client-4-api/latest/apache-httpcomponents-client-4-api.hpi
[root@ubuntu12.yinzhengjie.com ~]# wget https://mirror.tuna.tsinghua.edu.cn/jenkins/plugins/jersey2-api/latest/jersey2-api.hpi
[root@ubuntu12.yinzhengjie.com ~]# wget https://mirror.tuna.tsinghua.edu.cn/jenkins/plugins/jackson2-api/latest/jackson2-api.hpi
(2)将gitlab api依赖的插件移动到插件目录
[root@ubuntu12.yinzhengjie.com ~]# mv apache-httpcomponents-client-4-api.hpi jackson2-api.hpi jersey2-api.hpi /var/lib/jenkins/plugins/
[root@ubuntu12.yinzhengjie.com ~]#
(3)重启Jenkins服务
[root@ubuntu12.yinzhengjie.com ~]# systemctl restart jenkins
如下图所示,我们发现安装后解决了部分内容,但由于我安装的都是最新版本,并没有指定依赖的问题,因此会出现如下的报错哟。而且安装新的插件后还会有其他的插件出现!
4 Jenkins官方的镜像仓库(推荐)
官方插件仓库:
https://plugins.jenkins.io/
国内的镜像站点插件下载地址:
https://mirrors.aliyun.com/jenkins/plugins/
https://mirrors.tuna.tsinghua.edu.cn/jenkins/plugins/
https://updates.jenkins-ci.org/download/plugins/
https://updates.jenkins.io/download/plugins/
三.Jenkins邮箱配置
1 安装支持邮件配置的Mailer插件
如上图所示,需要安装mailer插件才能出现smtp相关的配置哟。安装该插件不需要重启Jenkins服务哟!
如下图所示,我们可以在已经安装的插件中找到Mailer插件哟~
2 配置QQ邮箱
如上图所示,依次点击"系统管理","系统配置" ,就可以进行邮箱配置了。
如下图所示,我们需要配置SMTP邮箱配置哟。
3 配置系统管理员邮箱地址
如上图所示进行配置即可。
4 发送测试邮件
如上图所示,测试邮件发送,如果能成功收到邮件,说明咱们的配置是正确的哟!
四.安装Jenkins常用插件
推荐阅读:
https://www.cnblogs.com/yinzhengjie/p/18563962
五.可能会遇到的问题
1 Caused: jakarta.mail.MessagingException: Can't send command to SMTP host;
问题描述:
如上图所示,出现报错了。
问题分析:
如下图所示,没有配置系统管路员邮箱,因此无法发送邮箱。
解决思路:
配置系统管理员邮箱地址,而且要和SMTP服务器的发件人邮箱地址一致哟~
2.Plugin org.apache.maven.plugins:maven-clean-plugin:2.5 or one of its dependencies could not be resolved
问题原因:
说是插件"org.apache.maven.plugins:maven-clean-plugin:2.5"或其依赖项之一无法解析。初步怀疑是maven的网络问题。
解决方案:
配置maven的镜像加速。
3.Dependency errors
问题原因:
部分插件由于缺少依赖无法加载。要恢复这些插件提供的功能,需要修复这些问题并重启 Jenkins。
解决方案:
下载相应的插件版本部署到Jenkins节点后重启即可。
4./usr/lib/jvm/java-11-openjdk-amd64 不是 JDK 目录
问题原因:
系统默认安装的不是jdk环境,而是jre环境。
解决方案:
重新安装jdk环境即可。
当你的才华还撑不起你的野心的时候,你就应该静下心来学习。当你的能力还驾驭不了你的目标的时候,你就应该沉下心来历练。问问自己,想要怎样的人生。
欢迎交流学习技术交流,个人微信: "JasonYin2020"(添加时请备注来源及意图备注)
作者: 尹正杰, 博客: https://www.cnblogs.com/yinzhengjie/p/18555909