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

相关推荐
香蕉大香蕉(06敬畏市场)39 分钟前
MySQL 单点详解(01)
java·数据库·mysql·面试·博客·实习
LaughingZhu1 小时前
Product Hunt 热榜 2026-10-30:Empacer、Scape、Floot in ChatGPT
java·前端·数据库·人工智能·chatgpt·notion
niucloud-admin1 小时前
NIUCLOUD PHP SAAS上门家政使用文档:服务保障
java·开发语言·php
IT枫斗者枫哥1 小时前
CompletableFuture失败后返回空列表:异常没了,业务含义也变了
java·后端
知识搬运临时工2 小时前
一个模板把 AEM 拖进 Full GC 死亡螺旋:300% CPU、7 GB 堆、310 万行堆栈
java·aws
用户432935928052 小时前
CoAP还是MQTT:1万只Cat.1水表三个月带宽续航实测
java
知守观2 小时前
多模块架构演进:横向分层 vs 纵向领域,13 个真实项目的切分对照
java·后端·微服务
Java成神之路-2 小时前
Java String 为什么不可变?和 HashMap 到底有什么关系?
java
paopaokaka_luck2 小时前
基于springboot+vue的益暖微光公益服务平台(DeepSeek公益助手、善款信息追溯、志愿服务积分闭环、ECharts运营分析、活动状态自动流转)
java·前端·javascript·spring boot·mysql·架构·echarts
文丑颜不良啊2 小时前
LeetCode1401~1420题目解析
java·leetcode