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/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 &

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

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

最后

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

Rainbond 结合 Jpom 实现云原生 & 本地一体化项目管理的更多相关文章

  1. 一站式云原生体验|龙蜥云原生ACNS + Rainbond

    关于 ACNS 龙蜥云原生套件 OpenAnolis Cloud Native Suite(ACNS)是由龙蜥社区云原生 SIG 推出的基于 Kubernetes 发行版本为基础而集成的套件能力,可以 ...

  2. 柯基数据通过Rainbond完成云原生改造,实现离线持续交付客户

    ​ ​1.关于柯基数据 南京柯基数据科技有限公司成立于2015年,提供一站式全生命周期知识图谱构建和运维.智能应用服务,致力于"链接海量数据,从大数据中挖掘智慧".帮助企业运用知识 ...

  3. DTCC 2020 | 阿里云李飞飞:云原生分布式数据库与数据仓库系统点亮数据上云之路

    简介: 数据库将面临怎样的变革?云原生数据库与数据仓库有哪些独特优势?在日前的 DTCC 2020大会上,阿里巴巴集团副总裁.阿里云数据库产品事业部总裁.ACM杰出科学家李飞飞就<云原生分布式数 ...

  4. 云原生时代的DevOps平台设计之道

    开发人员与运维人员是 IT 领域很重要的两大人群,他们都会参与到各种业务系统的建设过程中去.DevOps 是近年间火爆起来的一种新理念,这种理念被很多人错误的解读为"由开发人员(Dev)学习 ...

  5. 云原生应用管理,像管理手机APP一样管理企业应用

    我们在使用智能手机的时候,手机APP从应用市场一键安装,安装好即点即用,当有新版本一键升级,如果不想用了长按图标删除,整个过程非常简单,小朋友都能熟练掌握.而对于企业应用,由于结构复杂.可用性要求高. ...

  6. 百胜中国使用Rainbond实现云原生落地的实践

    百胜中国使用Rainbond实现云原生落地的实践 关于百胜中国 自从1987年第一家餐厅开业以来,截至2021年第二季度,百胜中国在中国大陆的足迹遍布所有省市自治区,在1500多座城镇经营着11023 ...

  7. 藏书馆App基于Rainbond实现云原生DevOps的实践

    我们需要的不是精通Kubernetes的工程师,我们需要一款小白都能用好的管理工具. -- 厦门正观易知科技有限公司运维负责人 郭传壕 大家好,我是厦门正观易知科技有限公司运维负责人郭传壕. 藏书馆是 ...

  8. 云原生存储解决方案Rook-Ceph与Rainbond结合的实践

    基础不牢,地动山摇.无论是何种体系架构,底层存储的选择都是一个值得探讨的话题.存储承载着业务的数据,其性能直接影响到业务应用的实际表现.也正因为存储和业务的数据关联紧密,其可靠性也必须得到关注,存储的 ...

  9. HiEngine:可媲美本地的云原生内存数据库引擎

    摘要:HiEngine与华为GaussDB (for MySQL)集成,将内存数据库引擎的优势带到云端,并与基于磁盘的引擎共存.HiEngine的性能比传统的以存储为中心的解决方案高出7.5倍. 本文 ...

  10. 阿里云如何基于标准 K8s 打造边缘计算云原生基础设施

    作者 | 黄玉奇(徙远)  阿里巴巴高级技术专家 关注"阿里巴巴云原生"公众号,回复关键词 1219 即可下载本文 PPT 及实操演示视频. 导读:伴随 5G.IoT 的发展,边缘 ...

随机推荐

  1. virtualvm2 观察者模式

    <template> <div id="app"> <input type="text" v-model='msg'> &l ...

  2. 拉勾java核心类库--String类

    String类 @author :magiclx 摘要:String类是用final进行修饰的,关于字符串的一个类,其中包含很多个方法 关键词:String,常量池,正则表达式,数组转化 正文: 参考 ...

  3. C++ || 求一个数中1的位数

    点击查看代码 #include<iostream> using namespace std; int f(int x) { int count = 0; while(x) { if (x ...

  4. 如何启动MySQL?

    参见链接:https://www.cnblogs.com/Yanjy-OnlyOne/p/12603117.html

  5. Java学习文档

    数在计算机中是以二进制形式表示的,分为有符号数和无符号数,原码.反码.补码都是有符号定点数的表示方法.一个有符号定点数的最高位为符号位,0是正,1是负(以8位整数为例),例如0000001 就是+1, ...

  6. python的elasticsearch模块

    参考 https://www.cnblogs.com/tianzhh/articles/13542239.html

  7. [jointjs] 端口(port)

    关于端口,我也不知道怎么解释,就用joint官网的这句话先打个头. Many diagramming applications deal with the idea of elements with ...

  8. Flask CURD(增删改查)

    1.创建flask项目 2.修改配置文件: ''' config.py 保存项目配置 ''' 导入Flask模块 from flask import Flask 额外安装: 数据库操作模块 from ...

  9. beta冲刺:总结随笔

    这个作业属于哪个课程 <班级的链接> 这个作业要求在哪里 <作业要求的链接> 这个作业的目标 beta冲刺总结 作业正文 .... 其他参考文献 ... 一.预期计划 | 6. ...

  10. KVM虚拟机根分区磁盘扩容

    CentOS7.6, libvirt 4.5.0 , KVM虚拟机根分区扩容. 在宿主机执行0, 对LVM磁盘进行扩容 0. qemu-img resize 10.0.0.1_node1.qcow2 ...