Releases: dromara/Jpom
v2.10.17
- 【server】新增 构建配置新增严格执行命令模式(判断命令执行状态码是否为0)
(感谢@阿克苏市姑墨信息科技有限公司) Gitee pr 169 ) - 【server】新增 节点分发新增 webhook 配置属性(感谢@酱总)
🐞 解决BUG、优化功能
- 【server】修复 构建产物配置单属性时,二次匹配不能匹配到文件问题
(感谢 @伤感的风铃草 Gitee issues I6FETS ) - 【server】优化 构建历史回滚输出相关操作日志(感谢@酱总)
- 【server】修复 windows 容器构建无法上传文件到容器问题
v2.10.16
🐣 新增功能
- 【server】新增 docker 列表支持跨工作空间同步
(感谢 @清风柳絮II号 Gitee issues I6EOIR ) - 【server】新增 构建历史保存构建环境变量(为回滚流程使用)
🐞 解决BUG、优化功能
- 【all】优化 解压工具支持多种编码格式(GBK、UTF8)(感谢@Again... . )
- 【server】优化 在线构建新增配置文件环境变量测试(
BUILD_CONFIG_BRANCH_NAME
)(感谢@阿克苏市姑墨信息科技有限公司) - 【server】修复 节点分发回滚 NPE (感谢@酱总)
- 【server】优化 构建弹窗部分下拉支持手动刷新数据(感谢@张飞鸿)
v2.10.15
🐣 新增功能
- 【server】新增 构建 pull 流程之后新增
BUILD_COMMIT_ID
变量 - 【server】新增 执行脚本输出可用环境变量(服务端脚本、节点脚本、SSH 脚本、在线构建 pull 成功之后、构建事件脚本)
- 【server】新增 构建确认弹窗新增配置构建环境变量
🐞 解决BUG、优化功能
- 【server】修复 节点分发二级路径不能删除问题(感谢@张飞鸿)
- 【agent】优化 服务端环境隐私变量字段传递到插件端(已经存在的插件端环境变量默认为隐私变量)
- 【agent】修复 DSL 项目模式 status 事件写入日志编码格式跟随系统配置,避免编码格式不正确(已经存在的日志文件可能会乱码,可以删除文件解决)
- 【server】优化 提前构建加载附加环境变量(startReady 事件)
- 【agent】优化 节点进程列表、内存、cpu、硬盘加载方式采用 oshi
- 【server】优化 在线升级页面新版本检测支持本地网络检测
⚠️ 注意
插件端需要同步更新,否则节点首页进程列表数据将不能正常显示
v2.10.14
🐣 新增功能
- 【server】新增 构建状态新增
构建中断
(执行事件脚本返回中断构建) - 【server】新增 构建事件脚本支持返回指定关键词中断构建(需要执行事件脚本输出的最后一行,
interrupt $type
) - 【server】新增 构建触发器将请求参数传入构建环境变量(
triggerContentType
、triggerBodyData
)
🐞 解决BUG、优化功能
- 【server】优化 构建产物为文件夹打包位置优化(避免存放位置错乱)
- 【server】修复 构建触发修改构建产物路径未验证 slip 问题
- 【server】优化 本地构建产物模糊匹配(ant path)支持配置截取路径、合并文件
- 【server】优化 构建日志输出信息(部分调整为中文、消息标签和级别)
- 【server】优化 切换工作空间刷新菜单(感谢@ccx2480)
- 【server】优化 用户密码提示改为弹窗并且可以快捷复制
- 【agent】修复 保存 DSL 项目判断是否存在 status 节点,避免无法删除情况(感谢@张飞鸿)
- 【agent】修复 节点项目修改路径移动文件不生效问题
- 【agent】取消 编辑项目校验目录存在情况
- 【server】优化 项目ID、节点分发ID 支持前端快捷生成
- 【server】优化 构建执行事件脚本描述匹配支持 all 关键词 (匹配所有事件)
- 【server】修复 执行脚本文件的换行符合跟随系统,避免 windows 中出现异常
- 【server】优化 解绑操作提示弹窗更明确(减少误操作)(感谢@酱总)
⚠️ 注意
如果使用到产物模糊匹配的请关注是否需要重新调整匹配符。
新版本匹配符支持配置三个属性:
属性1:属性2[可选]:属性3[可选]
属性1:为模糊匹配的表达式 ( Ant-style
)
属性2:匹配到的文件保留方式,可用值:KEEP_DIR
、SAME_DIR
。(大小写均兼容、配置错误默认为 KEEP_DIR)
KEEP_DIR: 保留匹配到的文件的文件层级
SAME_DIR: 将匹配到的文件均保留到同一个层级(合并到一个文件夹下)。慎用该方式,如果多目录存在相同的文件名会出现合并后只保留匹配到的最后一个文件
属性3: 需要剔除匹配到多级文件夹的指定目录,(可以配置为空)。建议配合属性2的KEEP_DIR
使用。剔除目录可以理解为二次过滤前缀匹配文件
🌰 举个栗子
栗子1: /web*/**/*.html:KEEP_DIR:/web2/
表示匹配执行构建后,对应目录下的:已 web 开头的目录下面的所有 html 文件,并且保留文件夹层级关系,最后发布时候需要剔除 /web2/
假设:目录下有如下文件
/vue/vue.html
/web/web1.html
/a/b/t.html
/web2/a.html
/web2/b/a.html
/web1/aa/t.html
执行匹配后的文件
a.html
/b/a.html
栗子2: /web*/**/*.html:SAME_DIR:
表示匹配执行构建后,对应目录下的:已 web 开头的目录下面的所有 html 文件,并且合并文件到同一个目录,最后发布时候需要剔除
/web2/
假设:目录下有如下文件
/vue/vue.html
/web/web1.html
/a/b/t.html
/web2/a.html
/web2/b/a.html
/web1/aa/t.html
执行匹配后的文件
web1.html
a.html
t.html
栗子3: /web*/**/*.html:KEEP_DIR:
表示匹配执行构建后,对应目录下的:已 web 开头的目录下面的所有 html 文件,并且保留文件夹层级关系,最后发布时候按照原目录结构发布
假设:目录下有如下文件
/vue/vue.html
/web/web1.html
/a/b/t.html
/web2/a.html
/web2/b/a.html
/web1/aa/t.html
执行匹配后的文件
/web/web1.html
/web2/a.html
/web2/b/a.html
/web1/aa/t.html
v2.10.13
🐣 新增功能
- 【server】新增 项目支持配置分组属性,方便项目列表筛选
(感谢 @hjk2008 Gitee issues I63PEN ) - 【server】新增 节点分发支持配置分组属性,方便列表筛选
- 【agent】新增 DSL 项目支持配置自定义备份路径
(感谢 @陈旭 Gitee issues I57ZKJ )
🐞 解决BUG、优化功能
- 【all】修复 linux 无法正常安装 service (感谢@山上雪)
- 【server】优化 构建的节点分发模式增加二级目录
(感谢 @爱琳琳真是太好了 Gitee issues I6DNMX ) - 【server】优化 构建不保留产物时自动删除产物为目录时的压缩包文件
- 【server】优化 构建状态等待
节点分发
完成(阻塞执行节点分发) - 【server】修复 构建选择
节点分发
并关闭保留产物
,会导致分发失败。
(感谢 @爱琳琳真是太好了 Gitee issues I6DII6 ) - 【server】修复 构建分发为
节点分发
,产物为文件时导致的不能回滚
(感谢 @Smith Gitee issues I6DNSM ) - 【server】优化 定时构建支持配置禁用表达式,方便临时关闭定时执行
(感谢 @阿超 Gitee issues I6DNBW ) - 【server】修复 DSL 项目配置文件备份数量不生效问题
⚠️ 注意
Linux 环境 已经安装的需要手动更新一下服务管理脚本
服务端:(需要到安装目录的 bin 下执行)
curl -LfsSo Service.sh https://gitee.com/dromara/Jpom/raw/master/modules/server/src/main/bin/Service.sh
插件端 :(需要到安装目录的 bin 下执行)
curl -LfsSo Service.sh https://gitee.com/dromara/Jpom/raw/master/modules/agent/src/main/bin/Service.sh
v2.10.12
🐞 解决BUG、优化功能
- 【server】优化 在线终端断开连接时提醒并支持重连
- 【server】修复 线程同步器,避免任务过多造成线程数不可控(节点分发相关功能)
- 【server】优化 前端打包取消 .map 文件,缩少发布包大小
(感谢 @金技 Gitee issues I6AK0N ) - 【all】优化 分片上传文件名采用分片序号(伪装文件后缀)(感谢@冷月)
- 【all】优化 分片上传文件签名由 sha1 改为 md5 提升效率
- 【server】优化 构建历史页面鼠标移到名称下拉项显示文字
(感谢 @伤感的风铃草 Gitee pr 167 ) - 【all】修复 日志监听器 catch 异常日志造成会话未自动删除问题
(感谢 @金技 Gitee issues I6A5QW ) - 【server】修复 仓库地址 https 证书验证问题(自动忽略验证)
(感谢 @arstercz Github issues 32 )
⚠️ 注意
- 插件端需要同步升级,否则不能正常使用节点上传文件相关功能
v2.10.11
🐣 新增功能
- 【server】新增 系统缓存新增分片操作数查看
- 【server】新增 节点分片上传支持配置并发数:
jpom.node.upload-file-concurrent
🐞 解决BUG、优化功能
- 【server】优化 迁移数据添加更多日志输出
- 【server】优化 分片上传解析文件数据采用分片形式,避免大文件造成浏览器奔溃
- 【server】优化 插件端在线升级管理页面错误信息提示由弹窗改到对应节点
- 【server】修复 迁移数据出现监控报警记录表字段不全问题 (感谢@loyal)
- 【server】修复 迁移系统参数表中的 sync_trigger_token 数据重复问题(感谢@loyal)
- 【server】优化 取消迁移数据忽略处理(避免默认工作空间名称不迁移)(感谢@loyal)
- 【server】优化 获取项目运行状态失败弹窗提醒改为单条数据异常提醒
- 【server】优化 服务端项目管理项目列表获取运行状态改为并发执行,缩短加载时间
- 【server】优化 分片上传文件中文件选择器禁用
❌ 不兼容功能
- 【server】取消 监控记录实体中的 logId 字段 (感谢@loyal)
- 【all】取消 启动时候判断重复启动
v2.10.10
🐣 新增功能
- 【all】新增 在线升级是否允许降级操作配置属性
jpom.system.allowed-downgrade
- 【server】新增 分发整体状态新增
分发失败
- 【server】新增 构建日志显示进度折叠率配置:
jpom.build.log-reduce-progress-ratio
🐞 解决BUG、优化功能
- 【server】修复 mysql 环境非
allowMultiQueries
初始化表结构失败(感谢@丿幼儿园逃犯) - 【server】修复 部分表字段缺失问题(strike)
- 【server】优化 迁移数据到 mysql 字段大小写跟随实体(感谢@丿幼儿园逃犯)
- 【server】修复 导入数据库备份文件目录不存在时报错(感谢@丿幼儿园逃犯)
- 【all】优化 节点上传项目文件采用分片上传、并且支持进度显示
- 【all】优化 在线升级上传项目包采用分片上传、并且支持进度显示
- 【all】优化 在线升级,默认禁止降级操作
- 【server】优化 节点分发上传文件采用分片上传、并且支持进度显示
- 【server】优化 分发单项的状态信息存储于日志记录中(取消 json 字段存储)
- 【server】优化 节点分发子项展示逻辑(同步改异步加载,避免长时间加载)
- 【server】优化 构建日志输出各个流程耗时
- 【server】优化 构建发布项目文件采用分片上传、并且支持进度显示
- 【agent】优化 配置文件中上传文件大小限制由 1G 改为 10MB 节省插件端占用内存大小(采用分片代替)
- 【server】优化 手动上传的节点分发文件将自动删除,节省存储空间
- 【server】优化 节点分发日志支持显示进度信息
⚠️ 注意
- 插件端需要同步升级,否则节点分发项目无法显示项目名称
- 插件端需要同步升级,否则会出现部分接口 404 或者参数不正确的情况
- 建议升级验证上传项目文件无问题后,将插件端上传文件大小限制配置属性大改小
- spring.servlet.multipart.max-file-size=5MB
- spring.servlet.multipart.max-request-size=20MB
如果需要使用 mysql 存储,则需要修改配置
- 修改
jpom.db.mode
为MYSQL
- 修改
jpom.db.url
为你 mysql 的 jdbc 地址( jdbc:mysql://127.0.0.1:
3306/jpom?useUnicode=true&characterEncoding=UTF-8&useSSL=false) - 修改
jpom.db.user-name
为对应 mysql 账户 - 修改
jpom.db.user-pwd
为对应 mysql 密码
如果您需要迁移之前 h2 数据库中的数据到 mysql(需要先将 mysql 的连接信息配置好后才能迁移)
bash ./bin/Server.sh restart -15 --h2-migrate-mysql --h2-user=jpom --h2-pass=jpom
v2.10.9
🐣 新增功能
- 【server】新增 服务端数据存储支持 mysql
🐞 解决BUG、优化功能
- 【server】修复 在线编辑配置文件报错并修改数据库密码问题
- 【server】
三次修复在线终端输入部分字符后自动断开连接问题 - 【server】升级 svnkit 依赖版本
- 【server】优化 docker 标签查询精准查询
- 【server】更名 阅读文件更名为跟踪文件
❌ 不兼容功能
- 【server】删除 数据库中多个数据表中弃用字段
⚠️ 注意
如果需要使用 mysql 存储,则需要修改配置:
- 修改
jpom.db.mode
为MYSQL
- 修改
jpom.db.url
为你 mysql 的 jdbc 地址( jdbc:mysql://127.0.0.1:
3306/jpom?useUnicode=true&characterEncoding=UTF-8&useSSL=false) - 修改
jpom.db.user-name
为对应 mysql 账户 - 修改
jpom.db.user-pwd
为对应 mysql 密码
如果您需要迁移之前 h2 数据库中的数据到 mysql(需要先将 mysql 的连接信息配置好后才能迁移)
bash ./bin/Server.sh restart -15 --h2-migrate-mysql --h2-user=jpom --h2-pass=jpom
v2.10.8
🐞 解决BUG、优化功能
- 【all】优化 程序运行的 tmp 文件夹(
java.io.tmpdir
)跟随项目目录 - 【all】优化 判断目录越级
checkSlip
目录转义至 tmpdir,避免在用户目录生成空白文件夹
❌ 不兼容功能
- 【all】取消 程序启动写入全局临时信息
- 【server】取消 服务端没有节点自动探测本地节点功能
⚠️ 注意
Linux、Windows 环境 已经安装 2.10.0 ~ 2.10.7 的需要手动更新一下管理脚本
建议先更新脚本再升级插件端或者服务端
Windows 用户需要自行下载脚本替换
服务端:(需要到安装目录的 bin 下执行)
curl -LfsSo Server.sh https://gitee.com/dromara/Jpom/raw/master/modules/server/src/main/bin/Server.sh
插件端 :(需要到安装目录的 bin 下执行)
curl -LfsSo Agent.sh https://gitee.com/dromara/Jpom/raw/master/modules/agent/src/main/bin/Agent.sh