【Devops-Jenkins自动将Java Maven工程编译成jar、并打成Docker镜像,并上传Harbor】

本文主要是针对基于RancherServer搭建的Kubernets集群中,实现将Java Maven工程通过Jenkins平台进行编译后打包成Docker镜像,并自动上传至私有Harbor服务器,最后部署至RancherServer的Kubernets集群中。

【Rancher官方文档】
【Rancher Server + Kubernets搭建云原生集群平台】
【Docker私有仓库Harbor服务搭建】

一、环境准备

1、软件准备

序号环境名称说明版本号
1Rancher Serverk8s运维平台v2.5.7
2HarborDocker私有仓库Harbor服务搭建v2.3.5-239680cd
3GitLab源码版本管理服务器

2、环境规划

序号IPHostName操作系统K8s角色说明
1192.168.255.140harborAnolis OS 8.9 x86 64位Rancher服务Docker私有仓库Harbor服务
2192.168.255.141rancherAnolis OS 8.9 x86 64位Rancher服务Kubernetes 管理平台
3192.168.255.142masterAnolis OS 8.9 x86 64位控制节点Kubernetes Master
4192.168.255.143worker01Anolis OS 8.9 x86 64位工作节点Kubernetes Master高可用节点,如果不需要高可用,可不部署此服务器
5192.168.255.144worker02Anolis OS 8.9 x86 64位工作节点Kubernetes Worker
6192.168.0.245jenkinsAnolis OS 8.9 x86 64位工作节点Jenkins编译服务

二、Jenkins准备工作

本文主要演示将java maven工程编译成jar并自动打成Docker镜像,所以需要Jenkins平台安装Docker插件

1、安装Docker插件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、配置Docker服务

开启Docker服务的2375端口


重点:在Kubernets集群所有节点上都要执行,否则会拉取失败
上传前需先修改docker.service中的配置,

  • 1、需配置私有Harbor服务器的地址
    –insecure-registry 192.168.255.140
  • 2、启动本地docker的远程服务端口
    -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
[root@daima ~]# vim /lib/systemd/system/docker.service
# 修改ExecStart参数,在参数中添加如下配置
#ExecStart=/usr/bin/dockerd  --insecure-registry 192.168.255.140 -H fd:// --containerd=/run/containerd/containerd.sock  -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
 
# 重新加载系统服务配置并启动Docker服务
[root@daima ~]# systemctl daemon-reload
[root@daima ~]# systemctl start docker

3、在Jenkins创建Harbor云服务

1)、进入云服务管理画面
系统管理->Clouds
在这里插入图片描述
在这里插入图片描述
2)、创建Harbor云服务
在这里插入图片描述
在这里插入图片描述

三、创建Jenkins项目

1、新建项目

在这里插入图片描述
在这里插入图片描述

2、配置项目

1)、总体配置如下图所示
在这里插入图片描述
2)、基本配置
只需填写描述信息即可
在这里插入图片描述
3)、源码配置
在这里插入图片描述
3)、构建配置
在这里插入图片描述
4)、Docker镜像编译、推送Harbor私服配置
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、构建项目

在这里插入图片描述
在这里插入图片描述

4、验证构建结果

出现如上图所示的就表示构建成功,按上图显示 2025年10月20日 下午12:01构建完成,查看Harbor私服的上传时间
在这里插入图片描述
如上图所示,已将jvs-auth镜像上传至Harbor私服

四、部署jvs-auth服务

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
结束,以上就是通过Jenkins平台进行编译后打包成Docker镜像,并自动上传至私有Harbor服务器,最后部署至RancherServer的Kubernets集群中的全部内容。

Logo

助力广东及东莞地区开发者,代码托管、在线学习与竞赛、技术交流与分享、资源共享、职业发展,成为松山湖开发者首选的工作与学习平台

更多推荐