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视频教程 了解更多内容。