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

相关推荐
Sunsets_Red8 分钟前
2025 FZYZ夏令营游记
java·c语言·c++·python·算法·c#
自由生长202422 分钟前
从流式系统中思考-C++生态和Java生态的区别
java·c++
培培说证35 分钟前
2026大专Java开发工程师,考什么证加分?
java·开发语言·python
qq_3363139336 分钟前
java基础-方法引用
java·开发语言·算法
总是学不会.39 分钟前
【JUC编程】一、线程的基础概念
java·开发语言·jvm
由之1 小时前
Spring事件监听机制简单使用
java·spring
小鸡吃米…1 小时前
Python - 类属性
java·前端·python
沉下去,苦磨练!1 小时前
计算一个字符串在另一个字符串中出现次数
java·开发语言
Li_7695321 小时前
Redis —— (五)
java·redis·后端·spring
派大鑫wink2 小时前
【Day7】构造方法与 this 关键字:初始化对象的正确姿势
java·开发语言