【技术实现步骤摘要】
代码持续交付方法及装置
[0001]本专利技术涉及分布式
,尤指一种代码持续交付方法及装置。
技术介绍
[0002]本部分旨在为权利要求书中陈述的本专利技术实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
[0003]在分布式架构下有多个应用节点,新版本代码交付时需要同时更新大量机器,传统手工滚动发布代码的方式费时费力,需要代码持续交付功能来实现自动化发布新版本代码,按需快速、安全且可持续地发布各种代码类型的更改,采取代码持续交付的团队能够随时以低风险方式发布新版本代码,而不影响用户使用。
[0004]现有的持续交付方法一般是基于云原生环境发布新版本代码,待新版本代码运行稳定后回收旧版本的代码运行环境,该方法具有新环境冗余的缺陷,并且无法实现按照特定交易控制代码版本发布进程。
技术实现思路
[0005]为解决现有技术存在的问题,本专利技术提出了一种代码持续交付方法及装置;该方法和装置通过分级部署代码发布策略,可按照特定的交易控制版本发布进程,用于方便快捷的发布新版本代码到应用环境。
[0006]在本专利技术实施例提出了一种代码持续交付方法,包括:
[0007]当接收到用户发送的配置请求时,将用户配置的新版本代码提交到代码仓库中;
[0008]将用户配置的新版本代码发布策略发送到版本发布策略集中;其中,所述新版本代码发布策略包括作用于持续交付控制平面的主策略和作用于应用节点的子策略;
[0009]根据所述主策略选取第一应用节点 ...
【技术保护点】
【技术特征摘要】
1.一种代码持续交付方法,其特征在于,包括:当接收到用户发送的配置请求时,将用户配置的新版本代码提交到代码仓库中;将用户配置的新版本代码发布策略发送到版本发布策略集中;其中,所述新版本代码发布策略包括作用于持续交付控制平面的主策略和作用于应用节点的子策略;根据所述主策略选取第一应用节点分组,当所述主策略的版本发布时间开始时,按照主策略在所述第一应用节点分组中选取初始应用节点;读取所述版本发布策略集中的代码版本发布策略,发送所述子策略到所述初始应用节点;从所述代码仓库中获取新版本代码,根据所述主策略的版本发布时间推送所述新版本代码到所述初始应用节点;在接收到用户的交易请求时,根据所述子策略分配运行新版本代码的初始交易量,按照所述初始交易量在所述初始应用节点上运行新版本代码,当交易成功率大于所述子策略的成功率阈值时,按照所述子策略递增运行新版本代码的交易量,直至所述交易请求全部使用新版本代码运行;其中,所述成功率阈值根据实际交易场景进行设定;在初始应用节点的新版本代码发布完成后,根据所述主策略递增在所述第一应用节点分组中选取的应用节点数量,按照以上步骤对选取的应用节点进行版本发布;在所述第一应用节点分组的新版本代码发布完成后,依次对其他应用节点分组进行新版本代码发布。2.根据权利要求1所述的方法,其特征在于,当接收到用户发送的配置请求时,将用户配置的新版本代码提交到代码仓库中,包括:当接收到用户发送的配置请求时,通过持续集成的方式将用户配置的新版本代码提交到代码仓库中。3.根据权利要求1所述的方法,其特征在于,还包括:将推送到应用节点的新版本代码部署到新版本运行代码库中;其中,所述运行代码库分为新版本运行代码库和旧版本运行代码库。4.根据权利要求3所述的方法,其特征在于,在接收到用户的交易请求时,根据所述子策略分配运行新版本代码的初始交易量,按照所述初始交易量在所述初始应用节点上运行新版本代码,当交易成功率大于所述子策略的成功率阈值时,按照所述子策略递增运行新版本代码的交易量,直至所述交易请求全部使用新版本代码运行,包括:在接收到用户的交易请求时,获取交易请求方代码和请求交易码,根据所述交易请求方代码和所述请求交易码,从所述子策略中查找相应交易请求的发布子策略;根据所述发布子策略的初始比例分配运行新版本代码的交易量,初始应用节点从新版本运行代码库中调用新版本代码,执行使用新版本代码运行的交易;不使用新版本代码运行的交易的应用节点保持旧版本代码运行;经过所述发布子策略的递增间隔时间后,统计交易成功率;如果交易成功率大于成功率阈值,则按子策略的递增比例增加运行新版本代码的交易量,直至比例达到100%,等待所述发布子策略的递增间隔时间,统计交易成功率;如果交易成功率小于或等于成功率阈值,将所有已发布新版本代码的应用节点回退至旧版本,并删除新版本运行代码库中的新版本代码。
5.根据权利要求4所述的方法,其特征在于,还包括:实时监控交易运行情况,汇总交易成功率,将交易成功率反馈至持续交付控制平面。6.根据权利要求5所述的方法,其特征在于,在初始应用节点的新版本代码发布完成后,根据所述主策略递增在所述第一应用节点分组中选取的应用节点数量,按照以上步骤对选取的应用节点进行版本发布,还包括:当交易成功率大于所述主策略的成功率阈值时,如果在第一应用节点分组中选取的应用节点比例未达到100%,则继续按主策略的递增比例选取第一应用节点分组内的其他应用节点,直至在第一应用节点分组中选取的应用节点比例达到100%;当交易成功率小于或等于所述主策略的成功率阈值时,将所有已发布新版本代码的应用节点回退版本,并删除新版本运行代码库中的新版本代码。7.根据权利要求6所述的方法,其特征在于,在所述第一应用节点分组的新版本代码发布完成后,依次对其他应用节点分组进行新版本代码发布,包括:在所述第一应用节点分组的新版本代码发布完成后,依次对其他应用节点分组按照所述主策略进行新版本代码发布;在所有应用节点都发布新版本代码,并满足成功率阈值的要求后,删除旧版本运行代码库中的旧版本代码,新版本代码调整为旧版本代码。8.一种代码持续交付装置,其特征在于,包括:接收模块,用于当接收到用户发送的配置请求时,将用户配置的新版本...
【专利技术属性】
技术研发人员:黄新福,张兴华,武岳,王硕,郭晨,郭雪莎,
申请(专利权)人:中国银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。