前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >还在用 Jenkins?快来试试这款简而轻的国产自动化部署工具吧!

还在用 Jenkins?快来试试这款简而轻的国产自动化部署工具吧!

作者头像
民工哥
发布2024-07-12 16:34:08
1870
发布2024-07-12 16:34:08
举报
文章被收录于专栏:民工哥技术之路

大家好,我是民工哥!

提到运维自动化,我们就不得不提起 Jenkins 这个工具,它是一个功能强大且灵活的持续集成工具,适用于各种规模的软件项目,并能够通过自动化和集成化的方式提高软件开发和测试的效率。

然而,并不是所有企业都适合使用 Jenkins,特别是在一些特定场景下,Jenkins 可能无法满足企业的需求或带来额外的挑战

比如:资源有限的小型企业或初创公司。

  • 部署和维护 Jenkins 可能会占用大部分甚至全部的服务器资源,影响其他应用的运行。
  • 学习成本高,Jenkins 的配置相对复杂,需要一定的学习和实践才能熟练掌握。投入大量时间和精力去学习Jenkins可能不太现实。

今天,民工哥给大家推荐一款比较适合小企业使用,比 Jenkins 更简单的一款项目构建和部署工具:Jpom!

简介

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

适用场景:适用于中小团队,特别是那些需要自动化构建、部署和运维的Java项目。

整体架构

主要功能

项目管理

  • 创建与管理:允许用户创建和管理多个项目,并为每个项目配置不同的构建和部署规则。
  • 持续集成:支持从版本控制系统(如Git)自动拉取代码,并在每次提交或定时触发时执行构建任务。
  • 构建任务配置:用户可以配置编译、打包、测试、静态代码分析等构建任务,以及构建成功后的处理方式。
部署管理
  • 自动化部署:支持将构建好的应用程序部署到指定的服务器上,可以通过SSH、FTP等方式进行部署。
  • 多环境支持:支持开发环境、测试环境、生产环境等多个环境的配置和管理。
日常运维
  • SSH终端:在浏览器中执行SSH终端命令,方便进行日常运维操作,并记录执行命令的历史。
  • 文件管理:支持文件上传、下载、编辑等操作,方便管理项目文件。
项目监控
  • 实时监控:实时监控项目当前状态,如果发生异常则自动触发邮件、钉钉等报警通知。
  • 日志记录:记录构建和部署过程的详细日志信息,便于故障排查和监控。
用户与权限管理
  • 多用户管理:支持多用户管理,不同用户拥有不同的权限。
  • 操作日志:完善记录用户操作和管理日志,确保安全性和可控性。
插件扩展

插件机制:支持插件扩展机制,用户可以根据需要安装和使用各种插件,扩展系统的功能和灵活性。

优势特性

  • 低侵入式:尽可能减少对现有项目的改动和依赖。
  • 易用性:直观友好的Web界面,用户可以通过浏览器轻松管理项目、配置构建和部署任务。
  • 灵活性:支持多种构建和部署方式,以及多种版本控制系统和数据库,满足不同的需求。

安装使用

Jpom 默认使用 H2 数据库,也支持 mysql、postgresql、mariadb 数据库,可以根据实际的业务需求来选择相应的数据库。

需要安装 JDK8及以上版本的系统环境。推荐大家使用一键安装方式。

服务端

默认是将服务端安装到目录:/usr/local/jpom-server/,使用下面的命令进行安装:

代码语言:javascript
复制
[root@CentOS7-1 ~]# curl -fsSL https://jpom.top/docs/install.sh | bash -s Server

如果想要安装并添加到自启动服务里,使用下面的命令安装即可:

代码语言:javascript
复制
[root@CentOS7-1 ~]# curl -fsSL https://jpom.top/docs/install.sh | bash -s Server default
代码语言:javascript
复制
插件端

插件端安装到默认位置:/usr/local/jpom-agent/。安装命令如下:

代码语言:javascript
复制
[root@CentOS7-1 ~]# curl -fsSL https://jpom.top/docs/install.sh | bash -s Agent default

代码语言:javascript
复制
[root@CentOS7-1 ~]# curl -fsSL https://jpom.top/docs/install.sh | bash -s Agent default+service

也可以使用安装包来安装,Jpom 官方安装包下载地址:https://jpom.top/pages/all-downloads/,下载安装到系统目录后,解压,然后即可使用下面的命令进行启动服务端与插件端:

代码语言:javascript
复制
# 进入安装目录
cd /xxxxx
# 启动服务端
./bin/Server.sh start

# 进入安装目录
cd /xxxxx
# 启动插件端
./bin/Agent.sh start

服务启动成功后,Jpom 服务端监听端口是 2122,插件端默认运行端口:2123,这时我们可通过 http://server_ip:2122/ 访问管理页面。

使用操作展示

登录管理页面,会提示设置初始化系统账户,根据提示进行操作。

Jpom 目前支持的登录方式有:

  • 账号+密码
  • 账户+密码+验证码
  • Oauth2
用户管理
添加用户/编辑用户

在初次添加用户您需要先创建权限组才能添加用户。

权限组说明权限如下:

逻辑节点

节点就是服务器,节点管理 > 逻辑节点 > 快速绑定,如下图:

如果没有安装插件端,进入之后可以复制快速安装命令来安装绑定:

最终等待执行结果,提示绑定成功即可:

点击节点后的管理菜单可以进入管理页面:

项目管理

项目管理 > 项目列表 > 新增,可以进行新增项目操作,如下:

填写项目相关的信息即可,如下:

仓库信息

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

构建列表

在线构建 > 仓库信息 > 构建列表 > 新增,如下:

按提示填写相关的信息确定即可,如下:

在线构建

点击在线构建 > 仓库信息 > 新增,如下:

填写信息,点击确定,如下:

点击构建 > 直接构建,开始构建和部署项目,如下:

SSH 管理
脚本管理
监控管理

服务器的 CPU、内存、硬盘、网络流量、文件系统、网卡都支持实时查看,如下:

总结

Jpom 作为一款简而轻的低侵入式在线构建、自动部署、日常运维、项目监控软件,凭借其强大的功能、易用性、灵活性和活跃的社区支持,已经成为许多中小团队的首选工具。它能够帮助开发团队实现自动化构建、测试和部署,提高开发效率和软件质量。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-07-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 民工哥技术之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • 主要功能
    • 部署管理
      • 日常运维
        • 项目监控
          • 用户与权限管理
            • 插件扩展
            • 优势特性
            • 安装使用
              • 服务端
                • 插件端
                • 使用操作展示
                  • 用户管理
                    • 逻辑节点
                      • 项目管理
                        • 仓库信息
                          • 构建列表
                            • 在线构建
                              • SSH 管理
                                • 脚本管理
                                  • 监控管理
                                  • 总结
                                  相关产品与服务
                                  项目管理
                                  CODING 项目管理(CODING Project Management,CODING-PM)工具包含迭代管理、需求管理、任务管理、缺陷管理、文件/wiki 等功能,适用于研发团队进行项目管理或敏捷开发实践。结合敏捷研发理念,帮助您对产品进行迭代规划,让每个迭代中的需求、任务、缺陷无障碍沟通流转, 让项目开发过程风险可控,达到可持续性快速迭代。
                                  领券
                                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档