一种自动化发布回滚技术制造技术

技术编号:31812068 阅读:49 留言:0更新日期:2022-01-08 11:15
本发明专利技术涉及发布回滚技术领域,且公开了一种自动化发布回滚技术,所述配置发布回滚配置通过shell命令的方式,将配置好发布和回滚的所需的配置时,通过自动化发布回滚的方式,能极大程度上解放运维人员和开发人员的工作量。当开发人员本地push代码之后,只需要在网页上点击一个按钮,或者点击按钮这一步都省略掉,项目的代码就能自动发布到测试或者线上的环境上,等待邮件告知就可以知道项目自动发布回滚的情况;这样开发人员就可以更加专注于开发代码上面,更快地修复问题,更快地交付成果;运维人员就可以专注于项目稳定性或者监控等等这一块上面,而不是每天花大量时间用于手动发布回滚上面,减少手动失误。减少手动失误。减少手动失误。

【技术实现步骤摘要】
一种自动化发布回滚技术


[0001]本专利技术涉及发布回滚
,具体为一种自动化发布回滚技术。

技术介绍

[0002]目前对于传统的发布回滚的方式大多数都是手动部署的方式,每次需要发布、更新,都要连接到服务器上,手动地部署其新版本(例如:先将本地的jar包上传到服务器项目目录,然后服务器上kill

9xxx,重新启动项目)。
[0003]现有方式的部署使得人力成本很大,由于人力众多会增加部署项目中的bug,出错机率大大增加,同时对bug的修复难度有所加大,回滚起来耗费时间和精力,在互联网竞争激烈今天,这样的方式下运维人员和开发人员将处于被动的位置,使得工作效率大打折扣,不能满足自动化发布回滚技术的工作要求,为此提出一种自动化发布回滚技术。

技术实现思路

[0004](一)解决的技术问题
[0005]针对现有技术的不足,本专利技术提供了一种自动化发布回滚技术,以解决上述的技术问题。
[0006](二)技术方案
[0007]为实现上述的目的,本专利技术提供如下技术方案:一种自动化发布回滚技术,包括自动发布回滚步骤流程,所述自动发布回滚步骤流程由S1

S8组合而成;
[0008]S1运维代码检出
[0009]所述运维代码检出通过手动发布回滚技术和自动发布回滚技术两种方法进行检出;
[0010]手动发布回滚技术:操作者在Jenkins页面时通过手动点击发布按钮,同时通过账号密钥的方式,且账号密钥需在GITEE用户上进行设定,并在Jenkins凭证上添加,以此来调用GITEE仓库中的运维项目脚本;
[0011]自动发布回滚技术:操作者对项目代码修改提交通过WEBHOOK设定的Jenkins的URL密码来促发Jenkins通过账号密钥的方式调用GITEE仓库的运维项目脚本;其中,URL密码是在Jenkins项目管理这边构建触发器的GITEE WEBHOOK生成的,而GITEE仓库项目这边需要把URL密码添加到WEBHOOKS管理;
[0012]S2配置发布回滚配置
[0013]所述配置发布回滚配置通过shell命令的方式,将配置好发布和回滚的所需的配置时,同时将其写入项目配置文件上;
[0014]S3项目代码检出
[0015]所述项目代码检出由GITSCM通过账号密钥的SSH方式,将GITEE仓库的项目代码进行拉取,并将其存放在Jenkins所在的工作目录上;
[0016]S4代码构建
[0017]所述代码构建通过MVN命令的方式对代码进行构建,当构建完成后,将在target目录上生成对应的jar包;
[0018]S5镜像构建
[0019]所述镜像构建通过DOCKERFILE的形式,对项目包进行打包到本地的docker镜像上,并将其上传到harbor的私有库内;
[0020]S6、S7项目发布回滚
[0021]所述项目发布回滚通过RSYNC命令拉取运维服务器的swarm配置,同时shell命令方式对swarm配置进行修改,并登录harbor仓库,DOCKER STARCK调用swarm文件发布以及回滚项目后,对项目的运行状态进行检查,并删除本地无用的docker镜像;
[0022]S8项目接口检查
[0023]所述项目接口检查通过curl命令来检查项目接口的返回状态,判断是否异常,并通过调用脚本邮件告知操作者和研发小组。
[0024]优选的,所述S2

S8的步骤均通过pipeline自定义脚本和shell脚本进行编写,所述自动发布回滚技术中的URL密码,通过Jenkins项目管理中构建触发器的GITEE WEBHOOK生成,同时GITEE仓库项目需将URL密码添加入WEBHOOK管理内。
[0025]优选的,所述配置发布回滚配置中的配置信息由构建版本号、项目端口和项目参数等信息组合而成发布回滚所需的配置。
[0026]优选的,所述项目代码检出中的账号密钥需要在Jenkins凭证上添加,同时GITEE代码仓库代码的URL,需要在pipeline脚本项目代码检出部分设定。
[0027]优选的,所述代码构建中在target目录上生成对应的jar包时,需要通过shell命令的方式,对项目配置做特殊处理,例如数据库密码账号。
[0028]优选的,所述镜像构建时,需要配置harbor的账号密码,且harbor为自建的docker镜像私有库。
[0029]优选的,所述项目发布回滚时,需要配置harbor的账号密码。
[0030]优选的,所述项目接口检查时,邮件通过自定义的python脚本进行发送。
[0031](三)有益效果
[0032]与现有技术相比,本专利技术提供了一种自动化发布回滚技术,具备以下有益效果:
[0033]该自动化发布回滚技术,通过自动化发布回滚的方式,能极大程度上解放运维人员和开发人员的工作量。当开发人员本地push代码之后,仅需要在网页上点击一个按钮,或者点击按钮这一步也能够省略掉,项目的代码能够自动发布到测试或者线上的环境上,等待邮件告知就可以知道项目自动发布回滚的情况;这样开发人员就可以更加专注于开发代码上面,更快地修复问题,更快地交付成果;运维人员就可以专注于项目稳定性或者监控等等这一块上面,而不是每天花大量时间用于手动发布回滚上面,减少手动发布时的失误。
附图说明
[0034]图1为本专利技术自动发布回滚步骤流程图;
[0035]图2为本专利技术自动发布回滚S1运维代码检出步骤流程图;
[0036]图3为本专利技术自动发布回滚S3项目代码检出步骤流程图。
具体实施方式
[0037]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0038]本专利技术提供一种技术方案,一种自动化发布回滚技术,包括自动发布回滚步骤流程,请参阅图1,所述自动发布回滚步骤流程由S1

S8组合而成;
[0039]S1运维代码检出
[0040]所述运维代码检出通过手动发布回滚技术和自动发布回滚技术两种方法进行检出;
[0041]S2配置发布回滚配置
[0042]所述配置发布回滚配置通过shell命令的方式,将配置好发布和回滚的所需的配置时,同时将其写入项目配置文件上;
[0043]S3项目代码检出;
[0044]S4代码构建
[0045]所述代码构建通过MVN命令的方式对代码进行构建,当构建完成后,将在target目录上生成对应的jar包;
[0046]S5镜像构建
[0047]所述镜像构建通过DOCKERFILE的形式,对项目包进行本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种自动化发布回滚技术,包括自动发布回滚步骤流程,其特征在于:所述自动发布回滚步骤流程由S1

S8组合而成;S1运维代码检出所述运维代码检出通过手动发布回滚技术和自动发布回滚技术两种方法进行检出;手动发布回滚技术:操作者在Jenkins页面时通过手动点击发布按钮,同时通过账号密钥的方式,且账号密钥需在GITEE用户上进行设定,并在Jenkins凭证上添加,以此来调用GITEE仓库中的运维项目脚本;自动发布回滚技术:操作者对项目代码修改提交通过WEBHOOK设定的Jenkins的URL密码来促发Jenkins通过账号密钥的方式调用GITEE仓库的运维项目脚本;其中,URL密码是在Jenkins项目管理这边构建触发器的GITEE WEBHOOK生成的,而GITEE仓库项目这边需要把URL密码添加到WEBHOOKS管理;S2配置发布回滚配置所述配置发布回滚配置通过shell命令的方式,将配置好发布和回滚的所需的配置时,同时将其写入项目配置文件上;S3项目代码检出所述项目代码检出由GITSCM通过账号密钥的SSH方式,将GITEE仓库的项目代码进行拉取,并将其存放在Jenkins所在的工作目录上;S4代码构建所述代码构建通过MVN命令的方式对代码进行构建,当构建完成后,将在target目录上生成对应的jar包;S5镜像构建所述镜像构建通过DOCKERFILE的形式,对项目包进行打包到本地的docker镜像上,并将其上传到harbor的私有库内;S6、S7项目发布回滚所述项目发布回滚通过RSYNC命令拉取运维服务器的swarm配置,同时shell命令方式对swarm配置进行修改,并登录harbor仓库,DOCKER STARCK调用swarm文件发布以及回...

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

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

1