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环境即可。
posted @ 2024-11-20 00:36  尹正杰  阅读(9)  评论(0编辑  收藏  举报