一种代码发布方法及装置制造方法及图纸

技术编号:38845063 阅读:11 留言:0更新日期:2023-09-17 09:56
本申请涉及一种代码发布方法及装置。所述方法包括:接收目标软件的回滚指令,回滚指令至少包括待回滚的版本信息;根据版本信息,从预设的制品库中搜索目标软件的代码包;将搜索到的代码包,通过SCP传输至预设的目标环境中,生成代码发布指令;根据代码发布指令,执行代码发布的预配置流程。采用本方法能够通过代码发布节点的任务事项有效控制代码发布的进程,并在出现异常时,快速找出异常代码包后,回滚正常的代码包,有效降低运维人员的学习及后期维护成本。维护成本。维护成本。

【技术实现步骤摘要】
一种代码发布方法及装置


[0001]本申请涉及软件开发
,特别是涉及一种代码发布方法及装置。

技术介绍

[0002]随着软件开发技术的发展,软件交付节奏也在加快,开发流程日益自动化,大多软件公司配置自己的代码发布系统。现常见的代码发布系统中,没法一站式提供所有服务,其核心通常采用基于MySQL数据库的CMDB系统,具有前端WEB UI操作界面,搭建时借助于种类繁多的开源工具,比如,jira、gitlab、jenkins等等。因此,现有的代码发布系统在维护软件时,运维人员需要了解涉及的所有开源工具,当开源工具出现问题时,需要分别查看对应开源工具的日志以进行分析,导致运维成本大大增加。

技术实现思路

[0003]基于此,针对开源工具使用的专业度要求以及代码发布的流程繁杂问题,本申请供一种代码发布方法及装置,以简化代码发布的流程,利用预配置流程可以直接使用开源工具。
[0004]第一方面,本申请提供了一种代码发布方法,方法包括:
[0005]接收目标软件的回滚指令,回滚指令至少包括待回滚的版本信息;
[0006]根据版本信息,从预设的制品库中搜索目标软件的代码包;
[0007]将搜索到的代码包,通过SCP传输至预设的目标环境中,并生成代码发布指令;
[0008]根据代码发布指令,执行代码发布的预配置流程。
[0009]其中一种实施例中,接收目标软件的回滚指令的步骤之前,还包括:利用代码发布的预配置流程,制备目标软件的至少一个版本的代码包及其对应的配置信息,并进行相应的存储。
[0010]其中一个实施例中,根据代码发布指令,执行代码发布的预配置流程的步骤,包括:
[0011]接收目标软件的代码发布指令;
[0012]根据代码发布指令,生成对应于发布节点的任务事项以及任务单;
[0013]响应于触发任务事项,提取任务单中的配置信息;
[0014]根据配置信息,确定当前任务事项所处的发布节点;
[0015]利用配置信息,执行当前发布节点的预配置流程,当完成所有发布节点的任务事项后,完成发布目标软件的代码包。
[0016]其中一个实施例中,任务事项包括功能新建事件;当任务事项为功能新建事件时,任务单为需求单;
[0017]利用配置信息,执行当前发布节点的预配置流程的步骤,包括:
[0018]响应于触发功能新建事件,接收需求单中的第一配置信息;
[0019]根据第一配置信息,利用目标软件的develop分支,自动派生出feature分支;
[0020]利用feature分支,引导开发代码包,并建立feature分支与代码包的关联关系。
[0021]其中一个实施例中,利用配置信息,执行当前发布节点的预配置流程的步骤,还包括:
[0022]提取需求单中的第一配置信息;
[0023]根据预设的命名规则,利用第一配置信息,自动更新feature分支的名称,根据重命名后的feature分支引导代码包的开发;
[0024]其中,第一配置信息包括应用名称、版本号和功能名称,feature分支的重命名为:feature_版本号_功能名称。
[0025]其中一个实施例中,任务事项包括提测申请事件,当任务事项为提测申请事件时,任务单为提测单;利用配置信息,执行当前发布节点的预配置流程的步骤,包括:
[0026]响应于触发提测申请事件,接收提测单中的第二配置信息;
[0027]利用第二配置信息,自动建立提测单与develop分支的关联关系;
[0028]根据关联关系,选择所对应的feature分支及其所关联的代码包;
[0029]将feature分支合并至develop分支中,构成新develop分支;
[0030]利用新develop分支,对代码包进行编译、代码扫描、单元测试在内的转换操作,以生成代码包对应的软件制品,并将软件制品存储至制品库,执行S3对象存储。
[0031]其中一个实施例中,任务事项包括一键发布事件,当任务事项为一键发布事件时,任务单为发布单;
[0032]利用配置信息,执行当前发布节点的预配置流程的步骤,包括:
[0033]响应于触发一键发布事件,接收发布单中的第三配置信息;
[0034]根据第三配置信息,选择待上线的代码包,部署于预设的预发布环境,以进行目标软件的更新;
[0035]对目标软件进行预发布环境和功能的验证,并在验证通过后,完成代码包所对应目标功能的上线。
[0036]其中一个实施例中,利用配置信息,执行当前发布节点的预配置流程的步骤,还包括:
[0037]将待上线的代码包,部署于预设的预发布环境,对代码包所对应的目标软件进行更新处理,以获取新目标软件;
[0038]将新目标软件发布至预发布环境中,以进行预发布验证;
[0039]以及将新目标软件发布至生成环境的各校验设备上,以进行功能验证。
[0040]其中一个实施例中,响应于触发提测申请事件,执行首次提交提测单时的SQL语句的变更,并在新目标软件发布至预发布环境的步骤之前,执行变更后的SQL语句。
[0041]第二方面,本申请提供了一种代码发布装置,系统包括:指令接收模块、软件搜索模块、软件部署模块以及流程执行模块,其中,
[0042]指令接收模块,用于接收目标软件的回滚指令,回滚指令至少包括待回滚软件的版本信息;
[0043]软件搜索模块,用于根据版本信息,从预设的制品库中搜索目标软件的代码包;
[0044]软件部署模块,用于将搜索到的代码包,通过SCP传输至预设的目标环境中,生成代码发布指令;
[0045]流程执行模块,用于根据代码发布指令,执行代码发布的预配置流程。
[0046]上述提供的代码发布方法及装置,由于采用了根据版本信息从预设的制品库中搜索目标软件的代码包,通过SCP传输至预设的目标环境中,生成代码发布指令;根据代码发布指令,执行代码发布的预配置流程,实现了不受开源工具影响,具备一键发布、历史版本回溯、回滚发布等功能。其中,由于采用了根据代码发布指令,生成对应于发布节点的任务事项以及任务单,以此来控制代码发布流程的节点,进而有效控制代码发布的进程。由于采用了根据任务事项,提取任务单中的配置信息;根据配置信息,确定所处的发布节点,进而执行当前代码发布节点的预配置流程,使得依次完成所有代码发布节点的任务事项后,完成发布目标软件的代码包。因此,从软件未开发到软件存储后的所有流程节点都已得到有效控制,且不受开源工具的限制。由于采用了将发布流程分为多个任务事项,根据目标软件当前的开发进程生成对应的任务事项,比如,已存于制品库的目标软件和未存于制品库的目标软件生成不同发布节点的任务事项。当发布的目标软件出现任何异常时,能够快速找出异常的流程节点,并在找出异常的代码包后,进而执行回滚操作,利用feature分支,选择要回滚的目标环境、目本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种代码发布方法,其特征在于,所述方法包括:接收目标软件的回滚指令,所述回滚指令至少包括待回滚的版本信息;根据所述版本信息,从预设的制品库中搜索所述目标软件的代码包;将搜索到的所述代码包,通过SCP传输至预设的目标环境中,生成代码发布指令;根据所述代码发布指令,执行代码发布的预配置流程。2.根据权利要求1所述的代码发布方法,其特征在于,所述接收目标软件的回滚指令的步骤之前,还包括:利用所述代码发布的预配置流程,制备目标软件的至少一个版本的代码包及其对应的配置信息,并进行相应的存储。3.根据权利要求1所述的代码发布方法,其特征在于,所述根据代码发布指令,执行代码发布的预配置流程的步骤,包括:接收目标软件的代码发布指令;根据所述代码发布指令,生成对应于发布节点的任务事项以及任务单;响应于触发所述任务事项,提取所述任务单中的配置信息;根据所述配置信息,确定当前任务事项所处的发布节点;利用所述配置信息,执行当前所述发布节点的预配置流程,当完成所有所述发布节点的任务事项后,完成发布目标软件的代码包。4.根据权利要求3所述的代码发布方法,其特征在于,所述任务事项包括功能新建事件;当所述任务事项为功能新建事件时,所述任务单为需求单;所述利用配置信息,执行当前所述发布节点的预配置流程的步骤,包括:响应于触发功能新建事件,接收所述需求单中的第一配置信息;根据所述第一配置信息,利用目标软件的develop分支,自动派生出feature分支;利用所述feature分支,引导开发代码包,并建立所述feature分支与所述代码包的关联关系。5.根据权利要求4所述的代码发布方法,其特征在于,所述利用配置信息,执行当前所述发布节点的预配置流程的步骤,还包括:提取所述需求单中的第一配置信息;根据预设的命名规则,利用所述第一配置信息,自动更新所述feature分支的名称,根据重命名后的所述feature分支引导代码包的开发;其中,所述第一配置信息包括应用名称、版本号和功能名称,所述feature分支的重命名为:feature_版本号_功能名称。6.根据权利要求4或5所述的代码发布方法,其特征在于,所述任务事项包括提测申请事件,当所述任务事项为提测申请事件时,所述任务单为提测单;...

【专利技术属性】
技术研发人员:王俊平刘海燕张连营陈鑫
申请(专利权)人:合众新能源汽车股份有限公司
类型:发明
国别省市:

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

1