基于web的新闻发布系统_基于JPOM项目发布系统二次开发构建生产、业测、综测发版体系...

概述

最近基于JPOM做了二次开发代替了目前的jenkins+脚本体系,感觉还是挺实用的,这里简单介绍下..

其实还有个华康的项目,但是因为我们VPN硬性要求windows环境,所以才用了这套。


1、概述

Jpom是一款简而轻的低侵入式在线构建、自动部署、日常运维、项目监控软件。

在使用Jpom后:

1)使用浏览器登录方便快捷管理项目

2)界面形式实时查看项目运行状态以及控制台日志

3)运维有对应的账号密码不需要知道服务器密码(并且有操作日志)

4)集群项目使用项目分发一键搞定多机部署

5)项目状态监控异常自动报警

6)在线构建不用手动上传项目包


2、项目主要功能及特点

1)创建、修改、删除项目、Jar包管理

2)实时查看控制台日志、备份日志、删除日志、导出日志

3)cpu、ram 监控、导出堆栈信息、查看项目进程端口、服务器状态监控

4)多节点管理、多节点自动分发

5)实时监控项目状态异常自动报警

6)在线构建项目发布项目一键搞定

7)多用户管理,用户项目权限独立(上传、删除权限可控制),完善的操作日志

8)系统路径白名单模式,杜绝用户误操作系统文件

9)在线管理Nginx配置、ssl证书文件

10)Tomcat状态、文件、war包在线实时管理


3、windows环境搭建JPOM项目管理系统

由于环境特殊,这台服务器需部署在windows环境下并用VPN连接云上的服务器才行,故这里只考虑windows系统下搭建。

3.1、安装的环境要求

1)JDK 1.8+

2)完整安装JDK环境(jdk的lib目录需要包含tools.jar)

3)系统配置环境变量JAVA_HOME

2d8596cf2fa77517e016bc34c6b292b2.png

3.2、下载安装包

地址:https://gitee.com/keepbx/Jpom/attach_files

bb6257fa243ec882569cbb9c11fdf2c9.png

3.3、解压文件

server-x.x.x-release 目录为服务端的全部安装文件

06c345dd6b51dbf9cfb262cea3fc632a.png

3.4、安装服务端

用命令运行(Server.sh、Server.bat)

80efdfdda199ad53eab34c370585ec29.png

3.5、安装插件端

agent-x.x.x-release 目录为插件端的全部安装文件,上传到对应服务器,用命令运行(Agent.sh、Agent.bat)

3.6、访问JPOM
地址:http://IP:2122

1)初始化密码

d7eb1cfb9a10ab29a69c1cd0491cc2fb.png

2)首页

030f7892148987ba67c7d1c24a725024.png

3.7、jpom配置文件(extConfig.yml)参考

jpom:  # jpom 数据存储路径, 如果调试模式运行默认路径为【/jpom/】,安装运行默认为jar包文件的父级  path:  authorize:    # api接口请求token 长度要求大于等于6位,字母数字符号组合    token:user:  # 最多能创建多少个用户  maxCount: 50  # 用户连续登录失败次数,超过此数将被限制登录  alwaysLoginError: 8  # 当ip连续登录失败,锁定对应IP时长,单位毫秒  ipErrorLockTime: 60*60*5*1000consoleLog:  # 是否记录接口请求日志  reqXss: true  # 是否记录接口响应日志  reqResponse: truelog:  # 日志文件的编码格式,如果没有指定就自动识别,自动识别可能出现不准确的情况  fileCharset:  # 查看日志时初始读取最后多少行(默认10,0不读取)  intiReadLine: 30db:  # 日志存储条数,将自动清理旧数据,配置小于等于零则不清理  logStorageCount: 200000# 构建相关配置build:  # 最多保存多少份历史记录  maxHistoryCount: 5000  # 单个最多保存多少份历史记录  itemMaxHistoryCount: 80

4、基于JPOM构建生产、业测、综测环境发版体系(代替jenkins+脚本发布)

4.1、JPOM发布流程规范

1)pom.xml中war包命名统一为"项目简称_环境简称",如oa_prod,产物默认输出位置为:target/oa_prod.war

2)pom.xml中区分不同环境的配置(生产、业测、综测)

3) 项目名称统一命名为:"项目简称_环境简称",每个项目默认配置3个环境(生产、业测、综测)

4)JPOM项目构建命令统一格式为

生产环境统一为:

mvn clean package -U -P prod sonar:sonar -Dsonar.host.url=http://xxxx:9000/ -Dsonar.projectName="项目别名"

其他环境为:

mvn clean package -U -P 环境简称

5)JPOM发布操作统一勾选rsync选项,发布端口默认为8888

6)rsync发布目录统一为:

rsync@服务器IP::jpom

6)不同环境发版脚本统一命名为"jpom_项目简称_环境简称.sh",默认路径为:/home/scripts/jpom_项目简称_环境简称.sh

5fc2ff671e8e7a3666a5d4ba01256c1e.png

4.3、发布流程

SVN-->JPOM-->应用服务器发布-->钉钉提示

其实这里做了二次开发的地方主要是添加了rsync来传输war包和钉钉提示的功能..

4.4、JPOM系统常见功能

1)SSH管理

为了实现对服务器的访问,首先需要在平台添加服务器登录信息。

e559859053cb3c94bba57f556f287098.png

点击列表里的 终端 按钮,可以在新页签中开启一个快速SSH命令行终端,执行各类命令。此Web模式的命令行对命令智能补全,切换历史命令等支持不佳。

点击列表里的 文件 按钮,则在新页签中进入文件浏览模式。当选择一个文本文件,再次点击终端时,自动进入文本跟踪模式。查看系统日志使用此功能特别方便。

82de4d6dfa90e3c204d88dd61da469bf.png

2) 节点管理

通过为目标服务器安装客户端代理,能够实现更加深入的服务器管理。有两种方式注册节点,第一种为完全新建节点,第二种为在SSH连接中创建节点。建议采用第二种。

f228218cfb41b4bf2ebb7c3a91f6a354.png

配置如下:

ebbd05c43b4d35c3b84b195c1f1047c9.png

配置成功后,节点列表菜单中将显示对应节点信息。这里列出了各节点Java运行时的相关信息

293fd2e1814d919d46097b60c1d918dd.png

3)在线构建

在 构建列表 菜单中添加新的配置项,实现对业务项目代码的打包与发布。

ea1eb8404c8aacb63b4380a91352a9e3.png

配置如下:

8b1765893ca279baef16706ceec166cb.png

点击指定项目的 构建 按钮,进行项目打包与发布,并在弹出的窗口中显示发布过程日志。点击当前构建ID列,也可快速查看当前或最近的构建日志

143da5dd75e8d7e44fdcbae2cdfd0926.png

进入构建历史列表,点击构建ID列,查看或下载各历史构建日志。目前系统默认保存最近3次的构建日志。点击 下载 按钮可下载指定版本项目包,点击 回滚 按钮可对指定版本跳过打包环节而直接重新发布。

e2fe1bfea228bbddfa4ef3e83adea1bb.png

4)用户管理

在角色管理中,通过 编辑 按钮设定被分配的功能,通过 动态 按钮设定被分配的系统

结合日常使用,标准功能分配如下

d8e7e1822a5ee1ce0b56b991891c111d.png
c836af0b8e23b8d9945895631576a497.png

以上为JPOM的部分功能展示,有兴趣的朋友可以测试一下~

71d2e60d6c2b5756f020d15b7117f7ff.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Jpom是一款简而轻的低侵入式在线构建、自动部署、日常运维、项目监控软件。 项目主要功能及特点: 1、创建、修改、删除项目、Jar包管理 2、实时查看控制台日志、备份日志、删除日志、导出日志 3、cpu、ram 监控、导出堆栈信息、查看项目进程端口、服务器状态监控 4、多节点管理、多节点自动分 5、实时监控项目状态异常自动报警 6、在线构建项目发布项目一键搞定 7、多用户管理,用户项目权限独立(上传、删除权限可控制),完善的操作日志 8、系统路径白名单模式,杜绝用户误操作系统文件 9、在线管理Nginx配置、ssl证书文件 10、Tomcat状态、文件、war包在线实时管理 特别提醒:在Windows服务器中可能有部分功能因为系统特性造成兼容性问题,建议在实际使用中充分试。Linux目前兼容良好 Jpom更新日志: v2.5.1 新增功能 【Server】保存邮箱信息时候验证邮箱配置是否正确 【Server】Token 机制采用 jwt 【Server】git 构建新增进度日志输出 【Server】添加操作监控相关 api 和页面功能 【Server】完善 JWT token 过期自动续签功能 【Server】添加前端页面引导系统(使用 introJs) 【Server】访问 ip 限制,支持配置白名单和黑名单来控制 ip 访问权限 【Server】添加服务自启动脚本创建方案,下面贴一下 Server 端自启动方式: 解决BUG、优化功能 【Server】全局网络请求新增 loading 状态控制 【Server】获取构建日志关闭 loading 状态 【Agent】控制台日志支持定时清空,避免日志文件太大 【Server】在线升级状态判断修复 【Server】修复项目获取进程信息失败 【Server】项目文件管理中显示项目文件存放真实目录 【Server】项目文件管理中文件夹不存在时,loading不消失 【Server】文件管理列表不能正常加载二级以上的目录 【Server】添加监控判断用户是否配置报警联系方式 【Server】初始化安装不能自动登录 【Server】页面组件采用国际化采用 zh_cn 【Server】服务器中验证码无法加载 【Agent】解决控制台输出 Failed to check connection: java.net.ConnectException: Connection refused: connect,因为没有关闭对应的 jmx 【Agent】解决首页控制台 java 进程列表慢的问题(采用定时拉取并缓存) 【server】fix bug: 节点列表页面,展开某个节点之后点击操作按钮会出现新的一行无效数据 【server】fix bug: 节点列表页面,在没有安装节点的情况下,点击终端按钮会在控制台报错。点击这里查看对应 issue 【server】fix bug: 节点管理里面的 Nginx 管理,关闭服务的接口参数传递错了。点击这里查看对应 issue 【server】优化系统配置页面的样式,在小屏幕设备上会出现多个竖方向上的滚动条,甚至有时候会遮住底部的操作按钮 【server】ssh 终端命令交互优化(改优化取消之前本快捷解压功能,删除命令检查) 【server】优化表格的排和高度等样式,适配页面。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值