Rainbond 结合 Jpom 实现云原生 & 本地一体化项目管理

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

  • 节点管理:集群节点,统一管理多节点的项目,实现快速一键分发项目文件
  • 项目管理:创建、启动、停止、实时查看项目控制台日志,管理项目文件
  • SSH 终端:在浏览器中执行 SSH 终端,方便进行日常运维,记录执行命令记录
  • 在线构建:在线拉取 GIT、SVN 仓库快速构建项目包,不用运维人员手动上传项目包
  • 在线脚本:在线管理脚本、定时执行脚本、webhook 钩子执行、执行日志等
  • Docker管理:在线管理镜像、容器、SWARM 集群。界面化管理 DOCKER
  • 用户管理:多用户管理,实现不同用户不同权限,用户操作、管理日志完善记录
  • 项目监控:实时监控项目当前状态、如果异常自动触发邮件、钉钉报警通知
  • NGINX 配置、SSL 证书:在线快速方便的修改 NGINX 配置文件,SSL 证书统一管理

Rainbond 与 Jpom 结合

Rainbond 结合 Jpom 实现云原生 & 本地一体化项目管理_第1张图片

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 实现云原生 & 本地一体化项目管理_第2张图片

安装完成后,可通过 Rainbond 提供的默认域名访问 Jpom并登陆进行用户注册。

Rainbond 结合 Jpom 实现云原生 & 本地一体化项目管理_第3张图片

Jpom 快速入门

本地构建 + SSH 发布 Java Jar 项目

简述使用 Jpom 构建 Java 项目然后通过 SSH 发布到服务器上并运行。

1.添加 SSH 节点

进到 系统管理 -> 资产管理 -> SSH管理 添加 SSH 节点,如下图。

Rainbond 结合 Jpom 实现云原生 & 本地一体化项目管理_第4张图片

添加 SSH 节点后,点击 关联,配置文件目录,发布的项目将在这个目录下操作。

Rainbond 结合 Jpom 实现云原生 & 本地一体化项目管理_第5张图片

2.添加 Git 仓库信息

进入 功能管理 -> 在线构建 -> 仓库信息 新增仓库,Git 仓库地址:https://gitee.com/rainbond/java-maven-demo

Rainbond 结合 Jpom 实现云原生 & 本地一体化项目管理_第6张图片

3.添加构建任务

进入 功能管理 -> 在线构建 -> 构建列表 添加构建:

  • 名称:自定义

  • 源仓库:选择上一步创建的仓库信息

  • 分支:master

  • 方式:本地构建

  • 构建命令:

    mvn clean package
    
  • 产物目录:target/java-maven-demo-0.0.1.jar

  • 发布操作:选择 SSH

  • 发布的SSH:选择第一步配置的 SSH 节点

  • 发布目录:选择配置的目录 /home/zqjava 目录是项目运行目录

  • 发布前命令:一般用于停止就的进程。

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 &

其他都默认即可,保存并构建。

Rainbond 结合 Jpom 实现云原生 & 本地一体化项目管理_第7张图片

等待构建完成后,就可以在服务器上看到进程,并且也能访问。

Rainbond 结合 Jpom 实现云原生 & 本地一体化项目管理_第8张图片

最后

Jpom 还有很多优秀的功能和场景,比如:节点管理、脚本管理、文件管理、监控管理 以及一些实践场景等等,有兴趣的小伙伴可以自行探索。

你可能感兴趣的:(kubernetes,云原生,运维,ci,容器)