修改配置
# 如何修改Jpom自身控制台日志级别
修改管理程序命令文件中--spring.profiles.active=
属性值pro/dev
# 如何修改程序日志路径
修改管理程序命令文件中 --jpom.log=/jpom/log/
# 如何指定Jpom运行 jvm 内存
修改管理程序命令文件中 JVM 变量添加 -Xms512m -Xmx1024m
# 如何修改程序运行端口
修改管理程序命令(Server.sh/Server.bat)文件中 --server.port=2122
修改管理程序命令(Agent.sh/Agent.bat)文件中 --server.port=2123
# 如何修改Jpom数据存储目录
修改外部配置文件extConfig.yml
中的 jpom.path 属性
jpom:
# jpom 数据存储路径, 如果调试模式运行默认路径为【${user.home}/jpom/】,安装运行默认为jar包文件的父级
path:
authorize:
# agent 端管理账号,必填。
agentName: jpomAgent
# agent 端管理密码,非必填,如果为空Jpom 会自动生成一串随机字符串当密码
agentPwd:
2
3
4
5
6
7
8
# 如何修改Jpom插件端账户/密码
修改插件端外部配置文件extConfig.yml
中的 jpom.authorize.agentName 和 jpom.authorize.agentPwd 属性
jpom:
# jpom 数据存储路径, 如果调试模式运行默认路径为【${user.home}/jpom/】,安装运行默认为jar包文件的父级
path:
authorize:
# agent 端管理账号,必填。
agentName: jpomAgent
# agent 端管理密码,非必填,如果为空Jpom 会自动生成一串随机字符串当密码
agentPwd:
2
3
4
5
6
7
8
# 查看控制台日志中文乱码
由于目前采用自动识别文件编码格式,可能不准确,如果明确日志文件编码格式。可以在插件端的外部文件【extConfig.yml】中指定
log:
# 日志文件的编码格式,如果没有指定就自动识别,自动识别可能出现不准确的情况
fileCharset:
# 查看日志时初始读取最后多少行(默认10,0不读取)
intiReadLine: 10
2
3
4
5
# 配置上传文件大小限制
Jpom 上传文件大小限制默认为 1GB,如果有上传更大到文件需要修改限制大小
Jpom 使用 SpringBoot 实现,大部分配置遵循 SpringBoot 配置属性。
上传文件大小限制配置属性为:
spring:
servlet:
multipart:
# 上传文件大小限制
max-request-size: 2GB
max-file-size: 1GB
2
3
4
5
6
如果上传大文件出现 OOM 那么则需要为程序配置更大的内存,因为上传文件默认都会先缓存到内存中
配置方式为:修改配置文件(extConfig.yml
)中对应属性值
# 项目日志占用太多存储空间怎么办?
可以配置项目控制台日志存储规则:(在节点管理>系统管理>系统配置 中修改)
log:
# 检测控制台日志周期,防止日志文件过大,目前暂只支持linux 不停服备份
autoBackConsoleCron: 0 0/1 * * * ?
# 控制台日志文件保留大小
autoBackSize: 10MB
# 是否自动将控制台日志文件备份
autoBackToFile: false
# 保存天数 配置错误或者没有,默认是7天
saveDays: 1
2
3
4
5
6
7
8
9
参考上面配置修改保存并重启后,这样单个项目的控制台日志文件将控制在 10M、并且不会产生日志备份文件
注意:参考配置中检测周期为 1 分钟,如果你项目在 1 分钟的周期内会产生 10M 的内容,那么会在下一次检测进行清空。
# 如何关闭项目日志(控制台日志)自动备份
Jpom 中的项目控制台日志默认开启了备份的,但是您在项目日志太多并且存储资源有限的情况下可以选择关闭备份这样节省存储空间
log:
# 是否自动将控制台日志文件备份
autoBackToFile: false
# 保存天数 配置错误或者没有,默认是7天
saveDays: 1
2
3
4
5
配置页面路径:节点管理>系统管理>系统配置
# 构建历史占空间太大(在线构建文件占用空间过大)?
Jpom 的在线构建默认会缓存仓库相关的文件,同时执行一次构建也将产生构建日志,保留构建产物相关的文件。
构建历史主要用户查看构建日志、下载构建产物、回滚构建产物等操作
随着构建功能使用频率提高构建历史占用的空间会逐步增加。
该如果清理或者减少报错文件:
- 配置统一规则
- 单个构建配置是否保留构建产物
配置统一规则参考服务端 extConfig.yml 配置文件:
注意:修改配置后不会立即生效,会在下次触发构建时候执行检查保留规则
# 构建相关配置
build:
# 最多保存多少份历史记录
maxHistoryCount: 1000
# 单个最多保存多少份历史记录
itemMaxHistoryCount: 50
2
3
4
5
6
# 项目重启失败、项目停止失败
Jpom 中在项目重启的流程如下
但是当执行了停止
、启动
后会进行阻塞检测是否达到预期值
停止项目检测的预期值是:项目状态未运行 启动项目检测的预期值是:项目状态运行中
如果阻塞检测未达到期望值或者检测超时会终止执行后续流程
一般情况在执行重启或者停止看到返回消息关键词包含:but unsuccessful
就表示未能成功执行
举例:
{"code":405,"data":{"msgs":["当前程序正常运行中,不能重复启动,PID:1341336","stop done,but unsuccessful","running:1341336"],"success":false},"msg":"上传成功并重启"}
{"code":405,"data":{"msgs":["restart done,but unsuccessful","running:1341336"],"success":false}}
问题排查
- 这个时候我们需要检查我们的项目是否能正常停止,并排查不能正常停止的原因
- 如果是 DSL 项目还需要检查 stop 事件里面是否正常实现或者正确停止项目
优化配置
如果您确定您的项目是能正常停止,但是就是停止耗时比较长(大于5秒) 这时我们可以通过修改配置来实现检查超时时间
在插件端的配置文件:extConfig.yml
(您的这个文件中可能没有相关属性,可以按照格式手动添加即可)
project:
# 停止、启动项目(项目状态检测)等待的时长 单位秒
stopWaitTime: 10
# 项目文件备份保留个数,大于 0 才会备份
fileBackupCount: 0
# 限制备份指定文件后缀(支持正则)
#fileBackupSuffix: [ '.jar','.html','^.+\\.(?i)(txt)$' ]
# 项目状态检测间隔时间 单位毫秒,最小为1毫秒
statusDetectionInterval: 500
2
3
4
5
6
7
8
9
修改说明:
默认是 10 (stopWaitTime
) * 500 (statusDetectionInterval
),就是 5s,假设您的程序正常停止需要 6s, 你可以配置成
检查 10(stopWaitTime
) 次 ,间隔 1000(statusDetectionInterval
) 毫秒,这样最大 10s 基本就可以避免无法正常停止