侧边栏壁纸
博主头像
王旭阳个人博客博主等级

工欲善其事,必先利其器

  • 累计撰写 121 篇文章
  • 累计创建 28 个标签
  • 累计收到 25 条评论

目 录CONTENT

文章目录

Jpom实践 容器构建+项目分发

wxy
wxy
2023-11-03 / 1 评论 / 6 点赞 / 234 阅读 / 6074 字
温馨提示:
本文最后更新于 2023-12-22,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

如果你还没有安装Jpom或者想要更详细的了解Jpom,官方文档已有很详细的安装实践和介绍

https://jpom.top/pages/15b7a2/

基础安装部分请查看官方文档

前言

容器构建+项目分发

容器构建 可以很好的做环境隔离

项目分发 配合nginx负载,来实现用户无感发布项目新版本

本文以Java项目为例,采用jar包启动方式。所使用的项目与ruoyi-vue(https://gitee.com/y_project/RuoYi-Vue)的项目模块结构相同,可供参考。

项目设置

在指定的逻辑节点服务器上创建新项目

  1. 首步是在插件端设置项目访问白名单

    2023-11-03-xasjjqra.png

  1. 添加一个新项目

2023-11-03-ugvuisqe.png

  • 设置项目路径和jar包存放位置(例如:driver-app-api文件夹)。

  • 根据需求确定JVM参数。本项目采用瘦JAR的打包方式,因此在启动时需指定lib目录。

  • 配置args参数以指定启动配置文件。这是为了能够同时启动两个项目,它们使用同一配置文件但运行在不同端口号上。

3.添加完成后,请复制此项目。

2023-11-03-coonjypy.png

复制项目要进行一些修改:

  • 项目目录要不同,因为下面运行命令是根据项目目录中的jar文件识别出来的

  • args参数 中的端口号需要修改

4.找到分发列表

2023-11-03-mnvshluu.png

添加关联项目(考虑到我们已经提前搭建了两个项目,并且它们位于同一台机器上,尽管创建新的分发项目也是一种选择)

  • 分发操作的选择直观明了,挑选最适合的即可。

  • 在分发节点中,选取我们之前创建的两个项目。

  • 调整间隔时间,以适应您项目启动的实际耗时。在线构建配置

在线构建配置

1.在这之前需要先配置一下Git仓库信息

2023-11-03-ytoxjdul.png

2.还有很重要的Docker配置

2023-11-03-xivcrlpm.png

  • 如果Docker列表看不到已有Dokcer, 那就需要到资产管理配置好之后 需要分配到对应的工作空间才能在这里使用 需要注意下此处标签

3.配置在线构建

2023-11-03-mjqxngyf.png

  • 新建一个构建,源仓库找到上一步配置的仓库并选中.选择合适的分支 和Tag

DSL配置

可以参考系统自带的配置实例

下面是我配置好的

# 基础镜像 目前仅支持 ubuntu-latest
runsOn: ubuntu-latest
# 使用哪个 docker 构建,填写 docker 标签 默认查询可用的第一个,如果 tag 查询出多个也选择第一个结果
fromTag: local
# version 需要在对应镜像源中存在
# java 镜像源 https://mirrors.tuna.tsinghua.edu.cn/Adoptium/
# maven 镜像源 https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/
# node 镜像源 https://registry.npmmirror.com/-/binary/node/
steps:
  - uses: java
    version: 8
  - uses: maven
    version: 3.8.7
# 将容器中的文件缓存到 docker 卷中
#  - uses: cache
#    path: /root/.m2
  - run: cd ${JPOM_WORKING_DIR} && mvn package -Pprod
# 宿主机目录和容器目录挂载 /host:/container:ro
binds:
  - /home/wxy/.m2/:/root/.m2/

  • fromTag 是上一步配置的 docker 我这里要使用那个docker来构建项目 把它标签写上即可

  • run 命令后半部分 mvn package -Pprod 我指定了环境prod

  • binds 目录:左侧是我机器的目录,右侧固定不变

2023-11-03-aeididbv.png

  • 产物目录 以ruoyi-vue 项目目录结构为例 打包出来的jar 默认是在ruoyi-admin/target/ruoyi-admin.jar这里

  • 我项目里面配置把jar改名了所以我这配置是 ruoyi-admin/target/driver-app-api.jar,也就是仓库根目录的相对路径

  • 选择节点分发 找到上面配置的分发即可!

保存构建

2023-11-03-chxxplky.png

2023-11-03-khcdgrnm.png

如果配置过程中遇到问题欢迎在评论区沟通交流!

6

评论区