一种软件模块的发布方法与流程

文档序号:35128016发布日期:2023-08-14 21:33阅读:70来源:国知局
一种软件模块的发布方法与流程

本发明属于软件工程,具体涉及一种软件模块的发布方法。


背景技术:

1、jenkins是一个开源软件项目,是基于java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。jenkins的主要功能是将项目中重复执行的工作自动化的执行。具体一项工作的自动化执行在jenkins中称为任务,在任务中定义任务的触发方式、源码管理、构建脚本、构建后操作等,其中触发方式和构建脚本是必选项。

2、git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。

3、软件开发常采用结构化程序设计,将程序按照功能拆分为模块。模块以源代码形式保存在项目中,由版本控制系统进行管理。当项目编译时直接使用源码生成程序。但是出于安全或其他需求,部分模块权限需要受控,只允许模块维护者访问源码,由模块维护者将源码编译之后以库的形式提供给其他模块或项目使用,即该模块的发布。

4、同时软件开发采用分层设计,使得程序结构清晰,升级维护更加容易。分层设计时上层模块依赖于下层模块。在分层设计中位于上层的权限受控软件模块依赖项目公共基础库。

5、随着公司产品线的丰富以及客户项目的发展,需要维护的软件版本越来越多,权限受控软件模块需要对不同软件版本进行发布,因此权限受控软件模块的维护人员需要耗费大量的时间及精力来重复编译发布库。权限受控软件模块对公版及客户项目各个软件版本的发布尚且是可控的,通常按照项目管理的规划流程进行发布,有一定的计划性和规划。而在具体项目的开发调试过程中的需求是不可控的,需要模块维护者根据调试需求不时编译发布库。从而耗费大量的时间及精力,降低了工作效率。

6、由于编译权限受控软件模块时需要依赖项目公共基础库,需要保证提供的公共基础库与权限受控软件模块版本一致,保证头文件和功能的一致性。当需要维护的软件版本越来越多时依靠工程人员来保证正确性需要耗费大量的时间及精力,同时不可避免带来一些版本不一致导致的问题,这些问题引入到工程项目中难以排查,带来大量工程资源的损失。


技术实现思路

1、本发明的目的是为了解决软件开发过程中权限受控软件模块的发布问题,提供一种软件模块的发布方法,基于jenkins实现权限受控软件模块自动发布,以使权限受控软件模块编译发布脱离手动编译发布以及具体模块维护者。保障了权限受控软件模块的源码安全。自动化的发布流程解决工程资源的占用,保证了编译版本的一致性,从而减少引入的疑难问题。本发明方法也可用于其他公共软件模块的发布。

2、本发明方法基于jenkins完成软件模块的自动发布。首先定义自动发布配置文件,包括提交用户名、提交用户邮箱、公共基础库和待发布的软件模块列表。自动发布配置文件描述一次自动发布。将自动发布配置文件上传到指定文件服务器指定目录以触发一次自动发布。在jenkins系统中创建自动发布任务,jenkins自动发布任务定时检查文件服务器指定目录,如果存在用户工程师提交的自动发布配置文件,则触发自动发布构建脚本。自动发布构建脚本解析自动发布配置文件,处理软件模块列表,使用工程源码路径和工程源码版本获取工程源码,并基于公共基础库进行编译,完成后将文件发布到指定目录并通知提交者,即用户工程师,完成库的自动编译发布。

3、所述的提交用户名为本次自动发布任务提交者;提交用户邮箱为本次自动发布任务提交者邮箱,用于邮件通知;公共基础库为本次自动发布任务编译工程列表时使用的基础库。

4、本发明具体技术方案如下:

5、步骤(1)定义软件自动发布配置文件,自动发布配置文件的软件模块列表中每一项对应一个待发布软件模块,待发布软件模块描述发布需求信息,包括工程名、工程源码路径、工程源码版本和工程编译参数;一个自动发布配置文件描述一次自动发布;

6、将自动发布配置文件上传到文件服务器的指定目录,触发一次自动发布;由工程源码路径和工程源码版本下载得到发布软件模块工程源码,使用工程编译参数和公共基础库完成软件模块工程编译;

7、步骤(2)在jenkins系统中创建自动发布任务,自动发布任务由两部分组成:自动发布任务触发方式和自动发布构建脚本;

8、所述的自动发布任务触发方式,使用自动发布配置文件触发自动发布构建脚本,即定时检查文件服务器指定目录,如果存在自动发布配置文件则触发自动发布构建脚本;

9、所述的自动发布构建脚本,为一系列命令组成的处理脚本,解析自动发布配置文件,处理软件模块列表,使用工程源码路径和工程源码版本获取工程源码,并基于公共基础库进行编译,完成后将文件发布到指定目录并通知提交者;

10、步骤(3)当用户工程师需要目标库时,用户工程师准备自动发布配置文件,添加提交用户名、提交用户邮箱、公共基础库和所需的软件模块列表,软件模块列表中每一项对应一个所需软件模块;然后将自动配置文件上传到文件服务器指定目录;

11、步骤(4)jenkins自动发布任务定时检查文件服务器指定目录,如果存在自动发布配置文件,则触发自动发布构建脚本;自动发布构建脚本解析自动发布配置文件,处理软件模块列表,使用工程源码路径和工程源码版本获取工程源码,并基于公共基础库进行编译,完成后将文件发布到指定目录并通知提交者,即用户工程师,完成库的自动编译发布;

12、步骤(5)用户工程师收到邮件通知,获知自动发布已完成,从指定文件服务器指定目录的路径下载库文件;

13、步骤(6)完成自动发布。

14、采用本发明方法解决了权限受控软件模块的使用发布问题,同时本发明也可用于其他通用软件模块的自动发布,使软件模块的编译发布脱离手动操作以及具体模块维护者,解决工程资源的占用。本发明依托于自动化系统保证了编译版本的一致性,减少版本不一致引入的疑难问题,提高工作效率和可维护性,满足了开发维护过程中对软件模块,尤其是权限受控软件模块的使用发布需求,保障了权限受控软件模块的源码安全。



技术特征:

1.一种软件模块的发布方法,基于jenkins完成软件模块自动发布,其特征在于:

2.如权利要求1所述的一种软件模块的发布方法,其特征在于:

3.如权利要求1或2所述的一种软件模块的发布方法,其特征在于,具体流程如下:

4.如权利要求3所述的一种软件模块的发布方法,其特征在于:

5.如权利要求3所述的一种软件模块的发布方法,其特征在于:步骤(4)自动发布任务流程如下:


技术总结
本发明公开了一种软件模块的发布方法。本发明首先定义自动发布配置文件,文件上传到指定文件服务器指定目录以触发一次自动发布。在Jenkins系统中创建自动发布任务,自动发布任务定时检查文件服务器指定目录,如果存在提交的自动发布配置文件,则触发自动发布构建脚本。自动发布构建脚本解析自动发布配置文件,处理软件模块列表,使用工程源码路径和工程源码版本获取工程源码,并基于公共基础库进行编译,完成后将文件发布到指定目录并通知提交者,完成库的自动编译发布。本发明减少版本不一致引入的疑难问题,提高工作效率和可维护性,满足了开发维护过程中对权限受控软件模块的使用发布需求,保障了权限受控软件模块的源码安全。

技术研发人员:闫文志,周真荣,黄俊斌
受保护的技术使用者:杭州国芯科技股份有限公司
技术研发日:
技术公布日:2024/1/14
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1