【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集群中的全部内容。

相关推荐
摇滚侠9 分钟前
JDBC 基础到高级一套通关!进阶篇 16-27
java
明志数科31 分钟前
4D时序标注技术详解:让机器人理解连续动作的数据基础
java·算法·机器人
_qingche38 分钟前
H2 数据库到 MySQL 数据迁移
java·数据库·spring boot·mysql·spring·重构·kotlin
可乐ea1 小时前
【知识获取与分享社区项目 | 项目日记第 21 天】索引构建与联想建议:Outbox 增量更新 + Completion Suggester
java·大数据·mysql·elasticsearch·搜索引擎
RainCity1 小时前
Java Swing 自定义组件库分享(十一)
java·笔记·后端
好家伙VCC1 小时前
Qdrant + LangChain 实战:构建毫秒级语义检索服务
java·langchain
AI人工智能+电脑小能手1 小时前
【大白话说Java面试题 第93题】【Mysql篇】第23题:从查找速度来看,聚集索引和非聚集索引哪个更快?
java·开发语言·数据库·mysql·面试
摇滚侠2 小时前
JDBC 基础到高级一套通关!高级篇 28-40
java
Smoothcloud润云2 小时前
5大功能精修,重构AI算力使用体验!
java·人工智能·windows·算法·重构·编辑器·sublime text
我是唐青枫2 小时前
Java MyBatis-Flex 实战指南:从 BaseMapper 到 QueryWrapper 的轻量 ORM 用法
java·开发语言·mybatis