再见Jenkins!一款更适合国人的自动化部署工具,贼带劲!

科技   2024-11-19 10:32   江苏  

Boot+Cloud项目学习:macrozheng.com

在开发或生产环境中,我们有时候会上服务器器然后敲命令来部署项目。这种敲命令的方式不仅麻烦,有时候还容易出错,此时使用一套自动化部署方案,不仅方便还不易出错。最近发现了一款好用的自动化部署工具Jpom,体验不输Jenkins,分享给大家!

Jpom简介

Jpom是一款简而轻的自动化部署工具,目前在Gitee上已有8.5k+star,它具有在线构建、自动部署、日常运维、项目监控等功能。

它能解决你日常开发中的这些痛点!

mall项目简介

由于我们之后要使用Jpom来实现mall项目的自动化部署,这里先简单介绍下mall项目,mall项目是一套基于 SpringBoot3 + Vue 的电商系统(Github标星60K),后端支持多模块和 2024最新微服务架构 ,采用Docker和K8S部署。包括前台商城项目和后台管理系统,能支持完整的订单流程!涵盖商品、订单、购物车、权限、优惠券、会员、支付等功能!

项目地址:

  • Boot项目:https://github.com/macrozheng/mall
  • Cloud项目:https://github.com/macrozheng/mall-swarm
  • 文档教程:https://www.macrozheng.com

项目演示:

安装

Jpom使用Docker来安装无疑是最方便的,这里我们采用此种方式来安装。

  • 首先通过如下命令下载Jpom的镜像;
docker pull jpomdocker/jpom
  • 下载完成后,使用如下命令启动jpom-server容器;
docker run -p 2122:2122 --name jpom-server \
-v /mydata/jpom-server/logs:/usr/local/jpom-server/logs \
-v /mydata/jpom-server/data:/usr/local/jpom-server/data \
-v /mydata/jpom-server/conf:/usr/local/jpom-server/conf \
-d jpomdocker/jpom
  • 容器启动成功后,Jpom将运行在2122端口上,第一次访问会要求我们超级管理员账户,访问地址:http://192.168.3.101:2122
  • 账户创建完成后就可以访问Jpom的控制台页面了。

自动化部署

接下来就以我的mall电商实战项目为例,来介绍下Jpom的自动化部署功能。

准备

  • 首先我们来了解下自动化部署的的流程从gitee仓库获取代码->使用maven打包项目->通过插件生成Docker镜像->通过ssh执行脚本运行容器
  • 我们需要从仓库信息中添加一个仓库,仓库地址:https://gitee.com/macrozheng/mall
  • 由于我们会使用Docker环境来构建项目,我们需要在Docker管理中添加添加一个Docker环境,注意Docker环境需要开启远程API访问;
  • 然后分配工作空间为默认
  • 接下来在SSH管理中添加SSH配置,同理分配到默认工作空间后才可以使用;
  • 由于SSH没有配置授权目录是不能选择的,所以还得配置好授权目录/mydata

项目构建

  • 构建列表中新增一个容器构建,注意需要给Docker容器添加local标签;
  • 接下来配置好需要构建项目的仓库地址,这里使用了mall项目的仓库地址;
  • 接下来进行构建流程的配置,使用如下脚本进行mall-admin模块的构建,产物目录为/mall-admin/target/mall-admin-1.0-SNAPSHOT.jar
# 基础镜像,目前支持ubuntu-latest、ubuntu-git
runsOn: ubuntu-latest
# 指定使用Docker环境的标签
fromTag: local
# 指定构建的步骤,目前支持的uses插件有java、maven、node、go、python3、gradle
steps:
  - uses: java
    version: 8
  - uses: maven
    version: 3.8.8
  # 将容器中的maven仓库文件缓存到docker卷中
  - uses: cache
    path: /root/.m2
  # 只install mall-common,mall-mbg,mall-security三个模块
  - run: cd ${JPOM_WORKING_DIR} && mvn clean install -pl mall-common,mall-mbg,mall-security -am
  # 单独构建并打包mall-admin模块
  - run: cd ${JPOM_WORKING_DIR}/mall-admin/ && mvn clean package
  • 接下来进行发布操作的配置,配置为SSH,发布完成后执行/mydata/sh/mall-admin.sh脚本启动mall-admin容器;
  • mall项目的容器启动脚本在项目的document/sh目录下;
  • 项目构建配置好之后就可以点击构建按钮进行构建了,构建过程中会自动下载项目的依赖;
  • 构建完成后我们就可以访问到mall-admin服务的API文档了,访问地址:http://192.168.3.101:8080/swagger-ui/
  • 接下来我们来部署mall-portal模块,复制一个mall-admin模块的构建,修改下构建流程中的脚本;
  • 然后修改发布操作中的发布后命令即可,mall-search模块的构建配置也一样;
  • 后端服务部署完毕后,我们可以把mall项目的后台管理系统的前端运行起来看下效果;
  • 然后把前台商城系统的前端运行起来看下效果,使用下功能可以发现后端服务是正常运行的。

总结

今天主要带大家使用Jpom实现了mall项目的自动化部署,通过这个过程我们可以发现Jpom对于国人来说比Jenkins更加易用,功能也很强大!

项目地址

https://gitee.com/dromara/Jpom


Github上标星11K的微服务实战项目mall-swarm,全套 视频教程(2024最新版) 来了!全套教程约26小时,共59期,如果你想学习目前最新的微服务技术栈,同时提高自己微服务项目的开发能力的话,不妨了解下,下面是项目的整体架构图,感兴趣的小伙伴可以点击链接 mall-swarm视频教程 加入学习。

整套 视频教程 的内容还是非常完善的,涵盖Spring Cloud核心组件、微服务项目实战、Kubernetes容器化部署等内容,你也可以点击链接 mall-swarm视频教程 了解更多内容。

推荐阅读

macrozheng
专注Java技术分享,解析优质开源项目。涵盖SpringBoot、SpringCloud、Docker、K8S等实用技术,作者Github开源项目mall(50K+Star)。
 最新文章