在线构建自动部署软件JPOM

系列文章目录


文章目录

  • 系列文章目录
  • 前言


前言

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。
在这里插入图片描述


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

https://jpom.top/pages/install/
在这里插入图片描述
介绍:

方便的用户管理

用户操作监控,监控指定用户指定操作以邮件形式通知

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

账号可以开启 MFA 两步验证提高账号安全性

界面形式实时查看项目运行状态、控制台日志、管理项目文件

在线修改项目文本文件

Docker 容器管理、Docker swarm 集群管理 Docker UI

在线 SSH 终端,让您在没有 Xshell、FinalShell 等软件也能轻松管理服务器 SSH终端

登录 Jpom 系统后不需要知道服务器密码

能指定 SSH 禁止执行的命令,避免执行高风险命令,并且能自动执行命令日志

设置文件目录,在线查看管理对应项目文件及配置文件

SSH 命令模版在线执行脚本还能定时执行

在线修改文本文件

轻量的实现了简单的"堡垒机"功能

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

在线构建不用手动更新升级项目 在线构建

支持拉取 GIT、SVN 仓库

支持容器构建(docker)

支持 SSH 方式发布

支持定时构建

支持 WebHook 形式触发构建

支持在线编辑 nginx 配置文件并自动 reload 等操作 Nginx

管理 nginx 状态,管理 SSL 证书

项目状态监控异常自动报警、自动尝试重启

支持邮件 + 钉钉群 + 微信群通知,主动感知项目运行状况

节点脚本模版+定时执行或者触发器,拓展更多功能

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

Server端安装

apt-get install -y wget && wget -O install.sh https://jpom.top/docs/install.sh && bash install.sh Server jdk+maven

备注:

默认安装目录为:/usr/local/jpom-server

Maven安装目录为:/usr/maven/apache-maven-3.6.3

这里安装的jdk实际上jre运行时环境,需要自己再安装JDK并配置一下JAVA_HOME

打开面板链接:http://IP:2122/,配置相关账号信息
Agent端安装

apt-get install -y wget && wget -O install.sh https://jpom.top/docs/install.sh && bash install.sh Agent jdk+maven

备注:

默认安装目录为:/usr/local/jpom-agent

Agent是实际部署程序的机器,也需要JDK环境

快速把节点配置到Server

这里参考Server面板中的“快速安装插件端”

curl -fsSL https://jpom.top/docs/install.sh | bash -s Agent jdk+default --auto-push-to-server \'http://192.168.2.22:2122/api/node/receive_push?token=2b8e49e5c15b3269cf8ba73ca8e076a2f9e2856d\&workspaceId=DEFAULT\'

或者

sh ./bin/Agent.sh restart -s --auto-push-to-server \'http://192.168.2.22:2122/api/node/receive_push?token=2b8e49e5c15b3269cf8ba73ca8e076a2f9e2856d\&workspaceId=DEFAULT\' && tail -f ./logs/agent.log

执行后在面板中,执行结果,中点一下看到节点的连接才能看到节点

(2)

也可以在面板中,由系统管理,点一下,切为功能管理-资产管理-机器管理,来手动添加节点

配置AgentSSH信息

由系统管理,点一下,切为功能管理-资产管理-SSH管理,添加刚才节点的SSH信息

然后点关联-关联工作空间ssh-配置-文件目录,从这里配置程序的发布目录

配置仓库

有多重配置方式,这里选择使用通过私人令牌导入仓库,(https://jpom.top/pages/practice/privateToken-import-repository/ )

这里本人在Gitee上创建了一个空的SpringBoot项目名字就叫springBootFast,只有一个Controller接口来验证是否发布成功

package com.example.springbootfast.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class TestController {@RequestMapping("/hello")public String getHello(){return "Hello";}
}

构建命令这里采用,可以定制Maven命令

mvn clean package -Dmaven.test.skip=true

产物目录,具体名称是POM中定制的

/target/springBootFast-0.0.1-SNAPSHOT.jar

发布操作选择SSH

发布后命令,这个是指在节点机器,发布程序后执行的脚本,以下脚本意思为,查询正在运行的Java程序终止,并再启动,等于一个重启操作

Tag="springBootFast"# 检查进程状态
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" != "" ]; thenecho "kill boot process"# kill  "$pid"kill -9 "$pid"fi
else echo "boot is stopped" 
fi
# 启动项目
nohup java -Dappliction=$Tag -jar /usr/local/jars/springBootFast-0.0.1-SNAPSHOT.jar > /dev/null 2>&1 &

其他配置-差异构建,防止重复构建,只有新增提交时才触发构建

一般因为第一次构建时,因为要下载Jar包,因此时间比较久,第二次构建时时间会很快。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/576886.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Python函数和类2/6】函数的参数

目录 目标 为函数设置参数 传递实参 关键字实参 关键字实参的顺序 位置实参 常见错误 缺少实参 位置实参的顺序 默认值形参 参数的优先级 默认值形参的位置 总结 目标 上篇博客中,我们在定义函数时,使用了空的括号。这表示它不需要任何信息就…

课堂练习:环境体验——1、 Linux 文件目录

任务描述 欢迎进行Linux世界,当你下载、安装了某个Linux发行版,体验了Linux桌面并安装了一些你喜爱和需要的软件之后,应该去了解下Linux真正的魅力所在:命令行。 每一个Linux命令其实就是一个程序,借助这些命令&#…

uniapp 使用命令行创建vue3 ts 项目

命令行创建 uni-app 项目: vue3 ts 版 npx degit dcloudio/uni-preset-vue#vite-ts 项目名称注意 Vue3/Vite版要求 node 版本^14.18.0 || >16.0.0 如果下载失败,请去gitee下载 https://gitee.com/dcloud/uni-preset-vue/repository/archive/vite-ts…

ES学习日记(五)-------插件head安装

接上回,必要的git和node已经装完了,现在开始装head 回到es集群项目里找到plugins(插件文件夹下), 存在安装在plugins启动es报错的情况,报错信息如图一,解决方案就是换个目录,不要放在plugin目录下 git clone https://github.com/mobz/elasticsearch-head.git 打开远程登陆,默…

【微服务】Sentinel(流量控制)

文章目录 1.基本介绍1.Sentinel是什么2.Sentinel主要特性3.Sentinel核心功能1.流量控制2.熔断降级3.消息削峰填谷 4.Sentinel两个组成部分 2.Sentinel控制台显示1.需求分析2.下载3.运行1.进入cmd2.输入java -jar sentinel-dashboard-1.8.0.jar3.查看默认端口8080 4.访问1.账号和…

同元软控专业模型库系列——机械篇

01 引言 卫星太阳帆在轨展开、C919大飞机起飞降落、机器人自主行走、汽车自如转向飞驰......在航天、航空、工业机械、车辆、船舶等众多行业中,我们可以看到各种机械应用的身影。 近些年,随着装备数字化和人工智能技术的迅速发展,世界装备制…

【61-80】计算机网络基础知识(非常详细)从零基础入门到精通,看完这一篇就够了

【61-80】计算机网络基础知识(非常详细)从零基础入门到精通,看完这一篇就够了 以下是本文参考的资料 欢迎大家查收原版 本版本仅作个人笔记使用61、 四次挥手相关内容62、挥手为什么需要四次?63、2MSL等待状态?64、四次…

硬件10、从网站获取封装

百度搜索IC封装网或者网址https://www.iclib.com/ 搜索想要的器件,直接下载他的原理图库和封装库

【单调栈】【网格】【柱图面积】85. 最大矩形

作者推荐 视频算法专题 本文涉及的基础知识点 单调栈分类、封装和总结 网格 LeetCode85. 最大矩形 给定一个仅包含 0 和 1 、大小为 rows x cols 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。 示例 1: 输入:…

【氮化镓】GaN器件中关态应力诱导的损伤定位

概括总结: 这项研究通过低频1/f噪声测量方法,探究了在关态(OFF-state)应力作用下,AlGaN/GaN高电子迁移率晶体管(HEMTs)中由应力引起的损伤的定位。研究中结合了电致发光(EL&#xf…

基于Hive的天气情况大数据分析系统(通过hive进行大数据分析将分析的数据通过sqoop导入到mysql,通过Django基于mysql的数据做可视化)

基于Hive的天气情况大数据分析系统(通过hive进行大数据分析将分析的数据通过sqoop导入到mysql,通过Django基于mysql的数据做可视化) Hive介绍: Hive是建立在Hadoop之上的数据仓库基础架构,它提供了类似于SQL的语言&…

ClamAV:Linux服务器杀毒扫描工具

Clam AntiVirus(ClamAV)是免费而且开放源代码的防毒软件,软件与病毒码的更新皆由社群免费发布。ClamAV在命令行下运行,它不将杀毒作为主要功能,默认只能查出系统内的病毒,但是无法清除。需要用户自行对病毒…