还在用Jenkins?快来试试这款简而轻的自动部署软件!

最近发现了一个比 Jenkins 使用更简单的项目构建和部署工具,完全可以满足个人以及一些小企业的需求,分享一下。

Jpom 是一款 Java 开发的简单轻量的低侵入式在线构建、自动部署、日常运维、项目监控软件。

日常开发中,Jpom 可以解决下面这些常见的痛点:

团队中没有专业的运维,开发还要做运维的活,需要自己手动构建、部署项目。

不同的项目有不同的构建、部署命令。

有开发、测试、生产等多环境打包的需求。

需要同时监控多个项目的运行状态。

需要下载 SSH 工具远程连接服务器。

需要下载 FTP 工具传输文件到服务器。

多台服务器时,在不同电脑之间账号密码同步不方便。

想使用一些自动化工具,但是对服务器性能太高,搭建太麻烦。

对自动化工具有个性化的需求,想自己修改项目,但是市面上的工具太复杂了。

功能特性

在这里插入图片描述

节点管理:集群节点,统一管理多节点的项目,实现快速一键分发项目文件

项目管理:创建、启动、停止、实时查看项目控制台日志,管理项目文件

SSH 终端:在浏览器中执行 SSH 终端,方便进行日常运维,记录执行命令记录

在线构建:在线拉取 GIT、SVN 仓库快速构建项目包,不用运维人员手动上传项目包

在线脚本:在线管理脚本、定时执行脚本、webhook 钩子执行、执行日志等

DOCKER 管理:在线管理镜像、容器、SWARM 集群。界面化管理 DOCKER

用户管理:多用户管理,实现不同用户不同权限,用户操作、管理日志完善记录

项目监控:实时监控项目当前状态、如果异常自动触发邮件、钉钉报警通知

NGINX 配置、SSL 证书:在线快速方便的修改 NGINX 配置文件,SSL 证书统一管理

整体架构

图片

Jpom 整体架构

效果展示

演示地址:https://demo.jpom.top

账号:demo

密码:jpom666

逻辑节点

节点简单理解为服务器就可以,点击节点管理 > 逻辑节点 > 快速绑定,如下所示:

图片

逻辑节点

仓库信息

需要构建的项目(仓库)信息,需要手动添加,构建支持 git 仓库的拉取。

图片

仓库信息

构建列表

构建列表这里展示了所有的构建的项目。

图片

SSH 管理

图片

安装使用

官方提供了多种安装方式,推荐使用「一键安装」,默认会安装到 /usr/local/jpom-server 目录。

# 一键默认安装 + 自动配置开机自启服务
curl -fsSL https://jpom.top/docs/install.sh | bash -s Server jdk+default+service

可以通过以下命令管理 Jpom 服务端:

  • 启动:systemctl start jpom-server
  • 停止:systemctl stop jpom-server
  • 重启:systemctl restart jpom-server

启动成功后,服务端的端口为 2122,可通过 http://127.0.0.1:2122/ 访问管理页面(如果不是本机访问,需要把 127.0.0.1 换成你安装的服务器 IP 地址)。

如无法访问管理系统,执行命令 systemctl status firewalld 检查下是否开启了防火墙 ,如状态栏看到绿色显示 Active: active (running) 需要放行 2122 端口。

# 放行管理系统的 2122 端口
firewall-cmd --add-port=2122/tcp --permanent
# 重启防火墙才会生效
firewall-cmd --reload

如果在操作系统上放行了端口仍无法访问,并且你使用的是云服务器,请到云服务器后台中检查安全组规则是否放行 2122 端口。

⚠️ 注意:Linux 系统中有多种防火墙:Firewall、Iptables、SELinux 等,再检查防火墙配置时候需要都检查一下。

更多 Jpom 服务端安装方式可以查看「安装 Jpom」。

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取 【保证100%免费】

在这里插入图片描述

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。在这里插入图片描述
在这里插入图片描述在这里插入图片描述

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

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

相关文章

Nginx的多线程支持探究

文章中心思想: Nginx本身并不直接支持多线程处理模型。它采用的是基于事件驱动的单线程或多进程架构,而非多线程模型。然而,通过Nginx的模块和第三方扩展,可以实现类似多线程的并发处理效果。 详细说明: Nginx,作为一款高性能的Web服务器和反向代理服务器,其架构和并发…

章节二、three.js开发入门与调试设置02;

一、轨道控制器查看物体; 1、基本概念 轨道控制器(OrbitControls)可以使得相机围绕目标进行轨道运动; 2、代码样例 // 七、创建轨道控制器(相机围绕着物体捕捉视角) const controls new OrbitControls(c…

吴恩达机器学习全课程笔记第五篇

目录 前言 P80-P85 添加数据 迁移学习 机器学习项目的完整周期 公平、偏见与伦理 P86-P95 倾斜数据集的误差指标 决策树模型 测量纯度 选择拆分方式增益 使用分类特征的一种独热编码 连续的有价值特征 回归树 前言 这是吴恩达机器学习笔记的第五篇&#xff0c…

《2023跨境电商投诉大数据报告》发布|亚马逊 天猫国际 考拉海购 敦煌网 阿里巴巴

2023年,跨境电商API接口天猫国际、京东国际和抖音全球购以其强大的品牌影响力和市场占有率,稳坐行业前三的位置。同时,各大跨境电商平台消费纠纷问题层出不穷。依据国内知名网络消费纠纷调解平台“电诉宝”(315.100EC.CN&#xff…

javaEE--后端环境变量配置

目录 pre 文件准备 最终运行成功结果 后端运行步骤 1.修改setenv文件 2.运行setenv,设置环境变量 3.查看jdk版本 4.修改mysql文件夹下的my文件 前端运行步骤 1.nodejs环境配置 2.查看node和npm版本 3.下载并运行npm 4.注册登录 pre 文件准备 最终运行…

VR转接器:破解虚拟与现实边界的革命性设备

VR转接器,这一革命性的设备,为虚拟现实体验带来了前所未有的自由度。它巧妙地连接了虚拟与现实,使得用户在享受VR眼镜带来的奇幻世界的同时,也能自由地在现实世界中活动。这一设计的诞生,不仅解决了VR眼镜续航的瓶颈问…

2、云原生安全之可视化界面rancher的部署

文章目录 1、rancher的部署1.1、安装rancher1.2、配置k8s2、部署helm3、容器安全工具neuvector此时已经部署好了k8s,使用rancher来管理 rancher简化了使用k8s的流程,可以图形化管理k8s。 参考: https://blog.51cto.com/u_15343792/5000311https://docs.rancher.cn/docs/ra…

你们团队是否有RocketMQ创建Topic、GID创建规范呢

这里是weihubeats,觉得文章不错可以关注公众号小奏技术 背景 早期在使用RocketMQ的时候,系统和开发人员不算多。所以topic的创建会非常随意,各种千奇百怪的topic 比如: order_topic、ORDER_TOPIC、order-topic 各种奇奇怪怪的风格,用_的&a…

GO结构体

1. 结构体 Go语言可以通过自定义的方式形成新的类型,结构体就是这些类型中的一种复合类型,结构体是由零个或多个任意类型的值聚合成的实体,每个值都可以称为结构体的成员。 结构体成员也可以称为“字段”,这些字段有以下特性&am…

JS清空数组方法

清空数组的方法有多种,以下是几种常见的方式: 1.使用 array.length 属性将数组的长度设为0,这样会移除数组中的所有元素: var arr [1, 3, 5]; arr.length 0; console.log(arr); // [] 2. 使用 array.splice() 方法,…

STM32 | 零基础 STM32 第一天

零基础 STM32 第一天 一、认知STM32 1、STM32概念 STM32:意法半导体基于ARM公司的Cortex-M内核开发的32位的高性能、低功耗单片机。 ST:意法半导体 M:基于ARM公司的Cortex-M内核的高性能、低功耗单片机 32:32位单片机 2、STM32开发的产品 STM32开发的产品&a…

【论文笔记】Improving Language Understanding by Generative Pre-Training

Improving Language Understanding by Generative Pre-Training 文章目录 Improving Language Understanding by Generative Pre-TrainingAbstract1 Introduction2 Related WorkSemi-supervised learning for NLPUnsupervised pre-trainingAuxiliary training objectives 3 Fra…

Java 网络面试题解析

1. Http 协议的状态码有哪些?含义是什么?【重点】 200:OK,客户端请求成功。 301:Moved Permanently(永久移除),请求的URL已移走。Response中应该包含一个Location URL,…

steam++加速问题:出现显示443端口被 vmware-hostd(9860)占用的错误。

目录 前言: 正文: 前言: 使用Steam对GitHub进行加速处理时,建议使用2.8.6版本。 下载地址如下:Release 2.8.6 BeyondDimension/SteamTools GitHub 下载时注意自己的系统位数 正文: 使用GitHub时会使…

NOC2023软件创意编程(学而思赛道)python初中组初赛真题

软件创意编程 一、参赛范围 1.参赛组别:小学低年级组(1-3 年级)、小学高年级组(4-6 年级)、初中组。 2.参赛人数:1 人。 3.指导教师:1 人(可空缺)。 4.每人限参加 1 个赛项。 组别确定:以地方教育行政主管部门(教委、教育厅、教育局) 认定的选手所属学段为准。 二、…

Mybatis-Plus+SpringBoot多数据源注解方式@DS

前言 最近接到一个新需求需要处理多数据源的问题 &#xff0c;今天就来和大家一起学习一下。 一、使用步骤 1.引入库 代码如下&#xff08;示例&#xff09;&#xff1a; <!--配置多数据源--><dependency><groupId>com.baomidou</groupId><artif…

蓝桥杯Java B组历年真题(2013年-2021年)

一、2013年真题 1、世纪末的星期 使用日期类判断就行&#xff0c;这里使用LocalDate&#xff0c;也可以使用Calendar类 答案 2099 使用LocalDate import java.time.LocalDate; import java.time.format.DateTimeFormatter; // 1:无需package // 2: 类名必须Main, 不可修改p…

常见问题和解决方案

OOM overview 发现监控告警 定位日志java.lang.OutOfMemoryError 避免参数配置代码规范 example jvm性能调优实战 -55RPC调用引发的OOM故障-阿里云开发者社区 (aliyun.com) 发现监控告警 定位日志java.lang.OutOfMemoryErrorA rpc BMAT打开堆快照文件分析histogram右击看引…

CentOS7 Hive2.3.8安装

CentOS7 Hive2.3.8 安装 建议从头用我的博客&#xff0c;如果用外教的文件到 一、9)步骤了&#xff0c;就用他的弄完&#xff0c;数据库不一样&#xff0c;在9步骤前还能继续看我的 一、 安装MySQL 0.0&#xff09;查询mariadb,有就去0.1&#xff09;&#xff0c;没有就不管…

python3装饰器

装饰器 它允许你修改函数或类的行为&#xff0c;而不更改其源代码。实质上&#xff0c;装饰器是接受另一个函数作为参数并返回一个包装原始函数的新函数。这样&#xff0c;你可以在不修改原始函数的情况下&#xff0c;添加一些额外的功能或逻辑。 def time_cost(func):"…