Dict.CN 在线词典, 英语学习, 在线翻译 ------------- MyGitee My腾云code My51cto

Happy_EveryDay

可以平凡 不可以平庸 无爱则无忧,无欲则无求,无怒而无敌,无怨才是佛。所有烦恼,都是放不下的执著 开源技群 328035181 MyGitee

博客园 首页 新随笔 管理

1、ruoyi-pro后端打包jar并上传到master节点主机

上传到master节点【192.168.91.166/home/biz】目录下
注:master:166,home/biz为后端jar打包镜像使用




1.1、mvn打包jar

mvn clean install -U -DskipTests

image

 

生成.jar包

image

 

 

本地可以先选行一下

java -jar  yudao-server202607292116.jar

 

1.2 生成jar包自动上传到上传到master节点【192.168.91.166/home/biz】目录下

image

 

 

1.3 pom.xml  打包及上传配置

 

<!-- 新增时间戳格式 -->
<maven.build.timestamp.format>yyyyMMddHHmm</maven.build.timestamp.format>
<build>
<!-- 打包带日期jar名 -->
<finalName>${project.artifactId}${maven.build.timestamp}</finalName>

<!-- 3. 【关键】添加 SSH 扩展支持,否则无法使用 scp 协议 -->
<extensions>
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-ssh</artifactId>
<version>3.5.3</version>
</extension>
</extensions>

<plugins>
<!-- 打包 -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring.boot.version}</version>
<executions>
<execution>
<goals>
<goal>repackage</goal> <!-- 将引入的 jar 打入其中 -->
</goals>
</execution>
</executions>
</plugin>

<!-- 4. 自动上传插件 -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>wagon-maven-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<!-- 对应 settings.xml 中的 ID -->
<serverId>remote-server</serverId>
<!-- 待上传的文件路径 (target目录下) -->
<fromFile>${project.build.directory}/${project.artifactId}${maven.build.timestamp}.jar</fromFile>
<!-- 远程服务器地址: scp://用户名@IP/目标目录 master:166,home/biz为后端jar打包镜像使用-->
<url>scp://root@192.168.91.166/home/biz</url>
</configuration>

<!-- 绑定生命周期:在执行完 package 后,自动执行 upload-single -->
<executions>
<execution>
<id>upload-deploy</id>
<phase>package</phase>
<goals>
<goal>upload-single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>

 

1.4  settings.xml 中的 ID

     <serverId>remote-server</serverId>

 

<servers>
<server>
<id>remote-server</id> <!-- 必须与 pom.xml 中的 serverId 一致 -->
<username>root</username>
<password>root</password>
<!-- 关键配置:跳过主机指纹询问 -->
<configuration>
<StrictHostKeyChecking>no</StrictHostKeyChecking>
<PreferredAuthentications>password</PreferredAuthentications>
</configuration>
</server>
</servers>

 

image

 

 

image

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2、yudao-server202607292116.jar 构成镜像并推送到私库192.168.91.164:harbor

 ######master节点【192.168.91.166/home/biz】执行构成镜像并上传到私库192.168.91.164:harbor



2.1 DockerFile 文件内容如下

## 基础镜像
#FROM eclipse-temurin:25-jre

FROM swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/library/eclipse-temurin:25-jre-alpine

# 定义构建时参数:JAR_TAG,兜底默认值防止不传参报错
ARG JAR_TAG=202607292012

## 创建工作目录
RUN mkdir -p /yudao-server
WORKDIR /yudao-server

## 关键修改:直接复制当前目录下的完整jar文件名
## COPY ./yudao-server20260718.jar app.jar

# 动态拼接完整jar文件名
COPY ./yudao-server${JAR_TAG}.jar app.jar


## 时区、JVM参数不变
ENV TZ=Asia/Shanghai
ENV JAVA_OPTS="-Xms512m -Xmx512m -Djava.security.egd=file:/dev/./urandom"
ENV ARGS=""

## 暴露端口
EXPOSE 48080

## 启动命令
ENTRYPOINT ["sh","-c","java $JAVA_OPTS -jar app.jar $ARGS"]

 

 

 

 

2.2  本地构成镜像docker build -t yudao-server:202607292012 .

###DockerFile的参数ARG JAR_TAG=202607292012 调整最新版本

image

 

 

 

 

 

 

 

 2.3  镜像推送到私库192.168.91.164:harbor

#先打上 Harbor 仓库标签

 docker tag yudao-server:202607292116 192.168.91.164/rouyi-biz/yudao-server:202607292116

 

# 推送harbor

docker push 192.168.91.164/rouyi-biz/yudao-server:202607292116

image

 

image

 

 

 

3、创建Deployment、Service文件yaml

 

kubeSphere 用命令创建 namespace: biz-rouyi

image

 

   【Deployment、Service】rouyi-ng-biz.yaml内容如下



apiVersion: apps/v1
kind: Deployment
metadata:
name: rouyi-ng-biz
namespace: biz-rouyi
spec:
replicas: 1
selector:
matchLabels:
app: rouyi-ng-biz
template:
metadata:
labels:
app: rouyi-ng-biz
spec:
# 本地镜像无需拉取密钥,删除 imagePullSecrets
containers:
- name: yudao-server
# 替换为本地导入的镜像标签
image: 192.168.91.164/rouyi-biz/yudao-server:202607292116
#imagePullPolicy: Never
ports:
- containerPort: 48080
env:
- name: SPRING_PROFILES_ACTIVE
value: "local"
resources:
requests:
memory: "512Mi"
cpu: "500m"
limits:
memory: "1Gi"
cpu: "1000m"
---
apiVersion: v1
kind: Service
metadata:
name: rouyi-ng-biz
namespace: biz-rouyi
spec:
type: NodePort
selector:
app: rouyi-ng-biz
ports:
- port: 48080
targetPort: 48080
nodePort: 30081 #对外爆露端口

 

 

 

4、发布【Deployment、Service】

kubectl apply -f rouyi-ng-biz.yaml -n biz-rouyi

 

查看kubectl get pods -n  biz-rouyi

image

  

查看kubectl  deployment日志

kubectl logs -f deployment/rouyi-ng-biz -n biz-rouyi

 

 

image

 

 

 

 

5、kubeSphere

image

 

 

 

image

 

 

 

 

 

6、http://192.168.91.166:30081/

image

 

 

 

7、参考

harbor【https启用】及k8节点部证书【业务及根证书】

 

posted on 2026-07-11 06:43  2026cn  阅读(12)  评论(0)    收藏  举报