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

目录

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

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

一、环境准备

1、软件准备

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

2、环境规划

序号 IP HostName 操作系统 K8s角色 说明
1 192.168.255.140 harbor Anolis OS 8.9 x86 64位 Rancher服务 Docker私有仓库Harbor服务
2 192.168.255.141 rancher Anolis OS 8.9 x86 64位 Rancher服务 Kubernetes 管理平台
3 192.168.255.142 master Anolis OS 8.9 x86 64位 控制节点 Kubernetes Master
4 192.168.255.143 worker01 Anolis OS 8.9 x86 64位 工作节点 Kubernetes Master高可用节点,如果不需要高可用,可不部署此服务器
5 192.168.255.144 worker02 Anolis OS 8.9 x86 64位 工作节点 Kubernetes Worker
6 192.168.0.245 jenkins Anolis 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
shell 复制代码
[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集群中的全部内容。

相关推荐
foxbillcsdn14 小时前
《Redis应用实例》Java实现(28):栈
java·redis
serendipity_hky14 小时前
【微服务 - easy视频 | day01】准备工具+gateway网关及路由至内部服务
java·微服务·架构·gateway·springcloud
Geoking.14 小时前
【Java】Java 中 @Resource 与 @Autowired 的区别详解
java·开发语言
weixin_4414552615 小时前
说说Java有哪些集合类
java·开发语言
合作小小程序员小小店15 小时前
web网页开发,在线%台球俱乐部管理%系统,基于Idea,html,css,jQuery,jsp,java,ssm,mysql。
java·前端·jdk·intellij-idea·jquery·web
LSL666_15 小时前
1 elasticSearch 和 IK分词器的本地下载
大数据·elasticsearch·jenkins
程序定小飞15 小时前
基于springboot的作业管理系统设计与实现
java·开发语言·spring boot·后端·spring
晓庆的故事簿16 小时前
windows下载和使用minio,结合java和vue上传文件
java·开发语言
程序员小假16 小时前
我们来说一下 Mybatis 的缓存机制
java·后端