​新晋开源项目jpom是否能够匹敌Jenkins?

2023-10-30 10:51:01 浏览数 (3)

新晋开源项目jpom是否能够匹敌Jenkins?

Jpom简介

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

<img src="C:/Users/zfk/AppData/Roaming/Typora/typora-user-images/image-20231030104548772.png" alt="image-20231030104548772" style="zoom:67%;" />

已经在中小团队中得到了可行性的验证,目前有许多长期并稳定使用 Jpom 来运维项目的公司以及团队了,充分证明 Jpom 是能给用户带来便利和可靠性。

业界内已经有使用 Jpom 来代替 Jenkins 的传言了

Jpom一键安装

注意:安装的目录位于执行命令的目录!

⚠️ 特别提醒:一键安装的时候注意执行命令不可在同一目录下,即 Server 端和 Agent 端不可安装在同一目录下!

如果需要修改服务端数据、日志存储的路径请修改 application.yml 文件中 jpom.path 配置属性。

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

# 安装服务端和 jdk 环境
yum install -y wget && 
wget -O install.sh https://jpom.top/docs/install.sh && 
bash install.sh Server jdk

# 安装服务端和 jdk、maven 环境
yum install -y wget && 
wget -O install.sh https://jpom.top/docs/install.sh && 
bash install.sh Server jdk mvn

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

启动成功后,服务端的端口为 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 等,再检查防火墙配置时候需要都检查一下。

本地构建 SSH 发布 java 项目

第一步 安装服务端

使用一键安装的命令安装服务端

代码语言:text复制
# 这里我们选择快速安装 jdk 和 maven ,实际中请根据自己情况选择
yum install -y wget && wget -O install.sh https://jpom.top/docs/install.sh && bash install.sh Server jdk mvn
执行命令后控制台输出如下
imgimg
imgimg
imgimg

服务端访问地址

http://IP:2122 IP则为部署 Jpom 服务端的IP地址,也可以使用 nginx 代理访问

第二步 初始化系统

为 Jpom 系统设备一个系统管理员账号密码,方便日后登录使用

  1. 需要设置 Jpom 系统中的管理员账号密码
  2. 注意超级管理的密码强度
imgimg

第三步 配置 ssh 信息

配置 ssh 信息、便于构建后发布到对应服务器中

  1. 服务器IP
  2. ssh 端口
  3. 登录的账号信息(账号、密码)
  4. 文件目录
imgimg

备注:文件目录为给对应 ssh 授权部分目录可以在 Jpom 中使用,一般用于构建发布目录、ssh 文件管理

第四步-配置构建信息第四步 配置构建信息

配置项目查看构建信息,用于管理项目发布流程

imgimg
  1. 构建的项目(仓库)信息
  2. 项目的构建命令(依赖的构建环境:maven、vue、python、php)
    1. mvn clean package
    2. npm run build
    3. ......
  3. 构建产物的目录(项目中的相对路径)
    1. java 项目一般位于当前项目 target 目录下的某个文件
    2. vue 项目一般位于当前项目 dist 文件夹
  4. 发布目录:项目将发布服务器到哪个目录(需要已经配置到 ssh 文件目录中
  5. 发布命令:执行发布后执行的命令,如:配置停止、启动项目
Java 项目发布命令
代码语言:text复制
Tag="jpom-test-jar"

# 检查进程状态
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 /home/java/test/springboot-test-jar-0.0.1-SN

1 人点赞