Jpom实践 容器构建+项目分发
编辑如果你还没有安装Jpom或者想要更详细的了解Jpom,官方文档已有很详细的安装实践和介绍
https://jpom.top/pages/15b7a2/
基础安装部分请查看官方文档
前言
容器构建+项目分发
容器构建 可以很好的做环境隔离
项目分发 配合nginx负载,来实现用户无感发布项目新版本
本文以Java项目为例,采用jar包启动方式。所使用的项目与ruoyi-vue(https://gitee.com/y_project/RuoYi-Vue)的项目模块结构相同,可供参考。
项目设置
在指定的逻辑节点服务器上创建新项目
首步是在插件端设置项目访问白名单
添加一个新项目
设置项目路径和jar包存放位置(例如:driver-app-api文件夹)。
根据需求确定JVM参数。本项目采用瘦JAR的打包方式,因此在启动时需指定lib目录。
配置args参数以指定启动配置文件。这是为了能够同时启动两个项目,它们使用同一配置文件但运行在不同端口号上。
3.添加完成后,请复制此项目。
复制项目要进行一些修改:
项目目录要不同,因为下面运行命令是根据项目目录中的jar文件识别出来的
args参数 中的端口号需要修改
4.找到分发列表
添加关联项目(考虑到我们已经提前搭建了两个项目,并且它们位于同一台机器上,尽管创建新的分发项目也是一种选择)
分发操作的选择直观明了,挑选最适合的即可。
在分发节点中,选取我们之前创建的两个项目。
调整间隔时间,以适应您项目启动的实际耗时。在线构建配置
在线构建配置
1.在这之前需要先配置一下Git仓库信息
2.还有很重要的Docker配置
如果Docker列表看不到已有Dokcer, 那就需要到资产管理配置好之后 需要分配到对应的工作空间才能在这里使用 需要注意下此处标签
3.配置在线构建
新建一个构建,源仓库找到上一步配置的仓库并选中.选择合适的分支 和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
我指定了环境prodbinds 目录:左侧是我机器的目录,右侧固定不变
产物目录 以ruoyi-vue 项目目录结构为例 打包出来的jar 默认是在ruoyi-admin/target/ruoyi-admin.jar这里
我项目里面配置把jar改名了所以我这配置是 ruoyi-admin/target/driver-app-api.jar,也就是仓库根目录的相对路径
选择节点分发 找到上面配置的分发即可!
保存构建
如果配置过程中遇到问题欢迎在评论区沟通交流!
- 8
- 1
-
分享