Rainbond 结合 Jpom 实现云原生 & 本地一体化项目管理
Jpom 是一个简而轻的低侵入式在线构建、自动部署、日常运维、项目运维监控软件。提供了:
- 节点管理:集群节点,统一管理多节点的项目,实现快速一键分发项目文件
- 项目管理:创建、启动、停止、实时查看项目控制台日志,管理项目文件
- SSH 终端:在浏览器中执行 SSH 终端,方便进行日常运维,记录执行命令记录
- 在线构建:在线拉取 GIT、SVN 仓库快速构建项目包,不用运维人员手动上传项目包
- 在线脚本:在 线管理脚本、定时执行脚本、webhook 钩子执行、执行日志等
- Docker管理:在线管理镜像、容器、SWARM 集群。界面化管理 DOCKER
- 用户管理:多用户管理,实现不同用户不同权限,用户操作、管理日志完善记录
- 项目监控:实时监控项目当前状态、如果异常自动触发邮件、钉钉报警通知
- NGINX 配置、SSL 证书:在线快速方便的修改 NGINX 配置文件,SSL 证书统一管理
Rainbond 与 Jpom 结合
Rainbond 与 Jpom 结合可以实现云原生项目和本地项目的统一管理,例如:
- 使用 Rainbond 部署和管理 Jpom
- 可通过 Jpom 构建可容器化的云原生项目并部署在 Rainbond 上管理和运维
- 通过 Jpom 管理一些无法容器化的传统项目以及部署
- 通过 Jpom 管理 Rainbond 集群的服务器,可作为堡垒机使用
- 使用 Jpom 管理脚本、执行脚本和定时脚本等。
部署 Jpom
前提
安装 Rainbond,可通过一条命令快速安装 Rainbond。
curl -o install.sh https://get.rainbond.com && bash ./install.sh
对接开源应用商店并部署 Jpom
Jpom 已发布到 Rainbond 开源应用商店,可通过 Rainbond 开源应用商店一键部署 Jpom。
进入 Rainbond 控制台的 平台管理 -> 应用市场 -> 开源应用商店
中搜索 Jpom
并安装。
安装完成后,可通过 Rainbond 提供的默认域名访问 Jpom并登陆进行用户注册。
Jpom 快速入门
本地构建 + SSH 发布 Java Jar 项目
简述使用 Jpom 构建 Java 项目然后通过 SSH 发布到服务器上并运行。
1.添加 SSH 节点
进到 系统管理 -> 资产管理 -> SSH管理
添加 SSH 节点,如下图。
添加 SSH 节点后,点击 关联
,配置文件目录,发布的项目将在这个目录下操作。
2.添加 Git 仓库信息
进入 功能管理 -> 在线构建 -> 仓库信息
新增仓库,Git 仓库地址:https://gitee.com/rainbond/java-maven-demo
3.添加构建任务
进入 功能管理 -> 在线构建 -> 构建列表
添加构建:
-
名称:自定义
-
源仓库:选择上一步创建的仓库信息
-
分支:master
-
方式:本地构建
-
构建命令:
mvn clean package
-
产物目录:
target/java-maven-demo-0.0.1.jar
-
发布操作:选择 SSH
-
发布的SSH:选择第一步配置的 SSH 节点
-
发布目录:选择配 置的目录
/home/zq
,java
目录是项目运行目录 -
发布前命令:一般用于停止就的进程。
Tag="java-maven-demo"
pid=$(ps -ef | grep -v 'grep' | egrep $Tag| awk '{printf $2 " "}')
if [ "$pid" != "" ]; then
echo -n "boot ( pid $pid) is running"
echo
echo -n $"Shutting down boot: "
pid=$(ps -ef | grep -v 'grep' | egrep $Tag| awk '{printf $2 " "}')
if [ "$pid" != "" ]; then
echo "kill boot process"
# kill "$pid"
kill -9 "$pid"
fi
else
echo "boot is stopped"
fi
- 发布后命令:一般用于启动项目。
nohup java -Dappliction=java-maven-demo -jar /home/zq/java/java-maven-demo-0.0.1.jar > /dev/null 2>&1 &
其他都默认即可,保存并构建。
等待构建完成后,就可以在服务器上看到进程,并且也能访问。
最后
Jpom 还有很多优秀的功能和场景,比如:节点管理、脚本管理、文件管理、监控管理 以及一些实践场景等等,有兴趣的小伙伴可以自行探索。