一种基于负载均衡mvn构建发布回滚技术制造技术

技术编号:33637122 阅读:17 留言:0更新日期:2022-06-02 01:51
本发明专利技术涉及Springboot框架的Java项目发布回滚技术领域,且公开了一种基于负载均衡mvn构建发布回滚技术,包括自动发布回滚和手动发布回滚,自动发布回滚:Java项目发布回滚代码脚本的推送;Java项目代码的拉取;Java项目代码的构建;Java项目代码的发布;Java项目代码的回滚;Java项目域名检测;手动动发布回滚:执行手动发布回滚的脚本;Java项目代码的拉取;Java项目代码的构建;Java项目代码的发布;Java项目代码的回滚;Java项目域名检测自动发布的方式:当Java开发人员本地提交或者修改代码,只需要在网页上点击一个按钮,或者点击按钮这一步都省略掉,项目的代码就能自动发布到测试或者线上的环境上,等待邮件告知就可以知道Java项目自动发布回滚的情况。以知道Java项目自动发布回滚的情况。以知道Java项目自动发布回滚的情况。

【技术实现步骤摘要】
一种基于负载均衡mvn构建发布回滚技术


[0001]本专利技术涉及Springboot框架的Java项目发布回滚
,具体为一种基于负载均衡mvn构建发布回滚技术。

技术介绍

[0002]mvn又叫MaVeN,是专门用于构建和管理Java相关项目的工具,使用Maven管理项目的好处主要有两点,其一是使用Maven管理的Java项目都有着相同的项目结构,有一个pom.xml用于维护当前项目都用了哪些jar包,所有的java代码都放在src/main/java下面,所有的测试代码都放在src/test/java下面;其二是便于统一维护jar包,maven风格的项目,把所有的jar包都放在了本地“仓库”里,然后哪个项目需要用到这个jar包,只需要给出jar包的名称和版本号就行了,这样就实现了jar包共享,避免每一个项目都有自己的jar包带来的麻烦。
[0003]传统基于负载均衡mvn的Springboot框架的Java项目发布回滚的操作具有较大的工作量,从而使得运维人员和Java开发人员的工作量变大,手动上传代码的失误较多,进而使得开人员无法更快地交付开发成果、运维人员无法专注于Java项目稳定性或者监控,为此提出一种基于负载均衡mvn构建发布回滚技术。

技术实现思路

[0004](一)解决的技术问题
[0005]针对现有技术的不足,本专利技术提供了一种基于负载均衡mvn构建发布回滚技术,通过设置手动发布回滚的方式以及自动发布回滚的方式来解决上述
技术介绍
中提出的问题。
[0006](二)技术方案
[0007]为实现上述目的,本专利技术提供如下技术方案:一种基于负载均衡mvn构建发布回滚技术,包括自动发布回滚和手动发布回滚,其两者的步骤如下:
[0008]自动发布回滚:
[0009]S01、Java项目发布回滚代码脚本的推送;
[0010]S02、Java项目代码的拉取;
[0011]S03、Java项目代码的构建;
[0012]S04、Java项目代码的发布;
[0013]S05、Java项目代码的回滚;
[0014]S06、Java项目域名检测;
[0015]手动动发布回滚:
[0016]S01、执行手动发布回滚的脚本;
[0017]S02、Java项目代码的拉取;
[0018]S03、Java项目代码的构建;
[0019]S04、Java项目代码的发布;
[0020]S05、Java项目代码的回滚;
[0021]S06、Java项目域名检测。
[0022]优选的,根据自动发布回滚中步骤S01所提出的,其推送包括以下两点:
[0023]1)、操作者在Jenkins页面时通过手动点击发布按钮,通过账号密钥或者是账号密码的方式拉取Svn仓库中的Java项目发布回滚代码脚本;
[0024]2)、操作者对Java项目代码修改提交通过Svn钩子来促发Jenkins通过账号密钥的方式拉取Svn仓库的Java项目发布回滚代码脚本
[0025]3.根据权利要求1所述的一种基于负载均衡mvn构建发布回滚技术,其特征在于:根据自动发布回滚中步骤S02所提出的,执行脚本的代码拉取部分,Svn命令通过账号密钥ssh的方式,将Svn仓库的Java项目代码进行拉取,存放在Jenkins Java项目所在的工作目录上。
[0026]优选的,根据自动发布回滚中步骤S03所提出的,其构建包括以下三点:
[0027]1)、修改application.yaml配置,主要是数据库相关配置修改,例如账号、密码等;
[0028]2)、执行脚本的代码构建部分,调用mvn命令;
[0029]3)、mvn clean package

Dmaven.test.skip=true:对Java项目构建打包,构建完成后在target目录生成项目的jar包,jar包为项目所需的项目包。
[0030]优选的,根据自动发布回滚中步骤S04所提出的,执行脚本的代码发布部分,调用sup_gengxin目录上sup_gengxin.sh脚本,执行发布部分;
[0031]通过目标ip列表遍历的方式来调用,发布的项目先通过ansible调用shell模块修改nginx服务器的nginx配置,把项目对应的url的权重修改为0,再通过调用ansible命令的copy模块把构建好的项目的jar包和发布脚本deploy.sh远程复制到目标的项目服务器上,先通过ansible调用deploy.sh执行项目的发布,通过状态码的返回是否成功,通过ansible调用shell模块修改nginx服务器的nginx配置,把项目对应的url的权重修改为100,这样就完成了Java项目代码的发布,其中deploy.sh具体过程如下:
[0032]4)、创建相应目录:判断项目的目录,项目带版本号的备份目录是否存在,如不存在,用mkdir命令进行创建;
[0033]5)、停止项目的进程:判断项目的进程是否存在,如果存在,通过kill命令的方式杀掉项目的进程;
[0034]6)、备份项目的资源:判断项目旧资源是否存在,如果存在,把项目的旧资源备份到备份目录上;
[0035]4)、发布项目的资源:把远程复制的jar包直接mv到项目的目录上;
[0036]5)、启动项目的进程:判断项目的jar包是否存在,如果存在,通过java命令的方式启动jar包并通过ps命令的方式抓取进程号,确定状态码返回额外说明;
[0037]6)、ansible命令的方式需要在构建服务器设置好密钥文件,目标项目服务器需要设置好公钥文件;
[0038]优选的,根据自动发布回滚中步骤S05所提出的,执行脚本的代码回滚部分,调用sup_gengxin目录上sup_gengxin.sh脚本,执行回滚部分,通过目标ip列表遍历的方式来调用,回滚的项目先通过ansible调用shell模块修改nginx服务器的nginx配置,把项目对应的url的权重修改为0,再通过调用ansible命令的copy模块把rollback.sh远程复制到目标
的项目服务器上,先通过ansible调用rollback.sh执行项目的回滚,通过状态码的返回是否成功,通过ansible调用shell模块修改nginx服务器的nginx配置,把项目对应的url的权重修改为100,这样就完成了Java项目代码的回滚,其中rollback.sh具体过程如下:
[0039]1)、停止项目的进程:判断项目的进程是否存在,如果存在,通过kill命令的方式杀掉项目的进程;
[0040]2)、备份项目的资源:判断项目旧资源是否存在,如果存在,把项目的旧资源备份到备份目录上;
[0041]3)、回滚项目的资源:把需要回滚的版本目录的jar包直接cp到项目的目录上;
[0042]4)、启动项目的进程本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于负载均衡mvn构建发布回滚技术,其特征在于:包括自动发布回滚和手动发布回滚,其两者的步骤如下:自动发布回滚:S01、Java项目发布回滚代码脚本的推送;S02、Java项目代码的拉取;S03、Java项目代码的构建;S04、Java项目代码的发布;S05、Java项目代码的回滚;S06、Java项目域名检测;手动动发布回滚:S01、执行手动发布回滚的脚本;S02、Java项目代码的拉取;S03、Java项目代码的构建;S04、Java项目代码的发布;S05、Java项目代码的回滚;S06、Java项目域名检测。2.根据权利要求1所述的一种基于负载均衡mvn构建发布回滚技术,其特征在于:根据自动发布回滚中步骤S01所提出的,其推送包括以下两点:1)、操作者在Jenkins页面时通过手动点击发布按钮,通过账号密钥或者是账号密码的方式拉取Svn仓库中的Java项目发布回滚代码脚本;2)、操作者对Java项目代码修改提交通过Svn钩子来促发Jenkins通过账号密钥的方式拉取Svn仓库的Java项目发布回滚代码脚本。3.根据权利要求1所述的一种基于负载均衡mvn构建发布回滚技术,其特征在于:根据自动发布回滚中步骤S02所提出的,执行脚本的代码拉取部分,Svn命令通过账号密钥ssh的方式,将Svn仓库的Java项目代码进行拉取,存放在Jenkins Java项目所在的工作目录上。4.根据权利要求1所述的一种基于负载均衡mvn构建发布回滚技术,其特征在于:根据自动发布回滚中步骤S03所提出的,其构建包括以下三点:1)、修改application.yaml配置,主要是数据库相关配置修改,例如账号、密码等;2)、执行脚本的代码构建部分,调用mvn命令;3)、mvn clean package

Dmaven.test.skip=true:对Java项目构建打包,构建完成后在target目录生成项目的jar包,jar包为项目所需的项目包。5.根据权利要求1所述的一种基于负载均衡mvn构建发布回滚技术,其特征在于:根据自动发布回滚中步骤S04所提出的,执行脚本的代码发布部分,调用sup_gengxin目录上sup_gengxin.sh脚本,执行发布部分;通过目标ip列表遍历的方式来调用,发布的项目先通过ansible调用shell模块修改nginx服务器的nginx配置,把项目对应的url的权重修改为0,再通过调用ansible命令的copy模块把构建好的项目的jar包和发布脚本deploy.sh远程复制到目标的项目服务器上,先通过ansible调用deploy.sh执行项目的发布,通过状态码的返回是否成功,通过ansible调用shell模块修改nginx服务器的nginx配置,把项目对应的url的权重修改为100,这样就
完成了Java项目代码的发布,其中deploy.sh具体过程如下:1)、创建相应目录:判断项目的目录,项目带版本号的备份目录是否存在,如不存在,用mkdir命令进行创...

【专利技术属性】
技术研发人员:ꢀ七四专利代理机构
申请(专利权)人:广州优谷信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1