在线构建自动部署软件JPOM

news2024/11/24 14:46:18

系列文章目录


文章目录

  • 系列文章目录
  • 前言


前言

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


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

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" != "" ]; then
    echo "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.coloradmin.cn/o/1553199.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Django安装及第一个项目

1、安装python C:\Users\leell>py --version Python 3.10.6 可以看出我的环境python的版本3.10.6,比较新 2、 Python 虚拟环境创建 2.1 官网教程 目前,有两种常用工具可用于创建 Python 虚拟环境: venv 在 Python 3.3 及更高版本中默…

【C语言】内存函数(memcpy)的使用和模拟实现

目录 一、memcpy定义1.memcpy在**cplusplus**中的定义2.memcpy**复制内存块**3.参数a.目的地b.源c.数字 4.函数返回值5.函数头文件 二、memcpy的使用使用memcpy()函数完成拷贝整型数组数据 三、memcpy的模拟实现思路代码 一、memcpy定义 1.memcpy在cplusplus中的定义 链接: l…

206基于matlab的无人机航迹规划(UAV track plannin)

基于matlab的无人机航迹规划(UAV track plannin)。输入输出参数包括 横滚、俯仰、航向角(单位:度);横滚速率、俯仰速率、航向角速率(单位:度/秒);飞机运动速度——X右翼、…

八大技术趋势案例(虚拟现实增强现实)

科技巨变,未来已来,八大技术趋势引领数字化时代。信息技术的迅猛发展,深刻改变了我们的生活、工作和生产方式。人工智能、物联网、云计算、大数据、虚拟现实、增强现实、区块链、量子计算等新兴技术在各行各业得到广泛应用,为各个领域带来了新的活力和变革。 为了更好地了解…

法律合规:AI产品法律风险应对措施全解析(二)

在此前推文中我们全面分析了生成式人工智能算法模型可能遇到的法律风险: 1、隐私泄漏风险:企业需要遵守数据安全法和个人信息保护法的规定,确保数据来源合法,使用时获得用户授权,并对数据进行匿名化处理等。 2、偏见…

蓝桥杯刷题计划-洛谷-持续更新

P8598 [蓝桥杯 2013 省 AB] 错误票据 题目 #include <bits/stdc.h> #define endl \n #define int long long #define INF 0x3f3f3f3f3f const int N 1000010; using namespace std; int arr[N]; signed main() {int N;cin>>N;int idx;while(cin>>arr[idx…

金三银四面试题(一):JVM类加载与垃圾回收

面试过程中最经典的一题&#xff1a; 请你讲讲在JVM中类的加载过程以及垃圾回收&#xff1f; 加载过程 当Java虚拟机&#xff08;JVM&#xff09;启动时&#xff0c;它会通过类加载器&#xff08;ClassLoader&#xff09;加载Java类到内存中。类加载是Java程序运行的重要组成…

灰色预测模型以及matlab软件使用

1&#xff0c;灰色系统简介 著名学者邓聚龙教授于20世纪70年代末、80年代初提出&#xff1a; “ The诞生标志:邓教授第一篇灰色系统论文Control Problems of Grey Systems”&#xff0c;发表于北荷兰出版公司期刊 System & Control Letter,1982, No.5. 1.1 灰色系统&…

C语言数据输出和输入介绍

在C语言中&#xff0c;数据的输出和输入是程序与用户或外部环境进行交互的重要方式之一。通过数据的输出&#xff0c;程序可以向用户展示信息或结果&#xff1b;通过数据的输入&#xff0c;程序可以获取用户提供的数据或参数。本文将深入介绍C语言中数据输出和输入的相关知识&a…

定时器的原理和应用

#include<reg51.h> unsigned char s[]{0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}; unsigned char count0,num0; void inittimer() {TMOD0x01;//0000 0001TH0(65536-50000)/256; //定时50ms50000us 2562^8 初值向右边移动8位TL0(65536-50000)%256;ET01;//开启定…

Stable Diffusion WebUI 生成参数:脚本(Script)——提示词矩阵、从文本框或文件载入提示词、X/Y/Z图表

本文收录于《AI绘画从入门到精通》专栏,专栏总目录:点这里,订阅后可阅读专栏内所有文章。 大家好,我是水滴~~ 在本篇文章中,我们将深入探讨 Stable Diffusion WebUI 的另一个引人注目的生成参数——脚本(Script)。我们将逐一细说提示词矩阵、从文本框或文件导入提示词,…

Linux学习:进程(3)与 环境变量

目录 1. 进程的优先级1.1 什么是进程的优先级1.2 优先级的具体表示与查看方式 2. 进程的切换与调度2.1 切换2.2 调度 3. 环境变量3.1 main参数/命令行参数3.2 什么是环境变量3.3 环境变量的使用与特性3.5 本地变量与环境变量的脚本配置文件 1. 进程的优先级 在计算机运行的过程…

前端基础知识html

一.基础标签 1.<h1>-<h6>:定义标题&#xff0c;h最大&#xff0c;h最小 2.<font>&#xff1a;定义文本的字体&#xff0c;尺寸&#xff0c;颜色 3.<b>&#xff1a;定义粗体文本 4.<i>&#xff1a;定义斜体文本 5.<u>&#xff1a;定义文本下…

SPDZ基础使用手册(深度学习视角)

基本类型 深度学习中最常使用的便是秘密定点数sfix&#xff0c;有关定点数的高级运算协议请参阅Paper: Secure Computation With Fixed-Point Numbers. 容器类型 SPDZ的深度学习框架主要基于TensorFlow实现&#xff0c;其中使用的容器是张量Tensor&#xff0c;在库中的定义如下…

如何提bug?

很多公司都有提bug的标准&#xff0c;对于新人刚介入测试行业时&#xff0c;提bug的时候&#xff0c;描述的清晰与否就很重要&#xff0c;那一个很明朗清晰的bug应该包含那些呢&#xff1f; bug包含的要素有那些&#xff1f;&#xff08;以jira工具为例&#xff09; 1、项目名…

Parade Series - SVG Resource

iconfont https://www.iconfont.cn/?spma313x.search_index.i3.2.74e53a819tkkcG音符 <div class"form-group"><a href"Javascript:reload();" class"btn btn-icon btn-outline-light btn-block" style";"><svg t&q…

docker logs 查找日志常用命令

docker logs 是什么 docker logs 是 Docker 命令行工具提供的一个命令&#xff0c;用于查看容器的日志输出。它可以显示容器在运行过程中生成的标准输出&#xff08;stdout&#xff09;和标准错误输出&#xff08;stderr&#xff09;&#xff0c;帮助用户诊断容器的行为和排查…

Spring boot 发送文本邮件 和 html模板邮件

Spring boot 发送文本邮件 和 html模板邮件 提示&#xff1a;这里使用 spring-boot-starter-mail 发送文本邮件 和 html模板邮件 文章目录 Spring boot 发送文本邮件 和 html模板邮件一、开启QQ邮箱里的POP3/SMTP服务①&#xff1a;开启步骤 二、简单配置①&#xff1a;引入依赖…

【Linux 驱动基础】Linux platform平台设备驱动

# 前置知识 总线驱动模型简介&#xff1a; 总线是处理器与一个或者多个设备之间的通道&#xff0c;在设备模型中&#xff0c;所有的设备都是通过总线相连&#xff0c;当然也包括虚拟的 platform 平台总线。 总线驱动模型中有三要素&#xff1a; 1. 总线 /*** struct bus_ty…

RTSP应用:实现视频流的实时推送

在实现实时视频流推送的项目中&#xff0c;RTSP&#xff08;Real Time Streaming Protocol&#xff09;协议扮演着核心角色。本文将指导你通过安装FFmpeg软件&#xff0c;下载并编译live555&#xff0c;以及配置ffmpeg进行视频流推送&#xff0c;来实现一个基本的RTSP流媒体服务…