基于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

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

3.2、下载安装包

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

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

3.3、解压文件

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

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

3.4、安装服务端

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

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

3.5、安装插件端

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

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

1)初始化密码

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

2)首页

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

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

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

4.3、发布流程

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

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

4.4、JPOM系统常见功能

1)SSH管理

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

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

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

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

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

2) 节点管理

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

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

配置如下:

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

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

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

3)在线构建

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

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

配置如下:

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

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

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

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

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

4)用户管理

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

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

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

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

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

你可能感兴趣的:(基于web的新闻发布系统)