一种程序自动版本发布方法和装置的制造方法_2

文档序号:9887391阅读:来源:国知局
open (打开)状态、merged (合并到开发主干)状态、draft (草稿)状态等等。在监听到仓库发生变化并且仓库状态处于open状态(表示有新的代码提交)时,处理进行到步骤S50,向编译单元发送信号并将源码发送到编译单元进行编译操作。编译单元可使用现有的任何编译环境如GCC编译器,并返回编译成功或失败的结果。例如,编译成功时,编译程序退出的返回值为O;编译失败时,编译程序退出的返回值为非O。在编译失败时,处理进行到步骤S55,向用户发出提示信号或信息,之后处理结束。在编译成功时,处理进行到步骤S90,触发程序的版本发布,对编译单元发送给Jenkins的、编译的可执行文件赋予版本号并发布新版本。
[0030]图2示出了本发明方法的另一实施例,其包括图1所示实施例的所有步骤。另外,在编译成功时,处理进行到步骤S60,编译的文件从编译单元发送给Jenkins后,会触发测试单元对编译完成的代码进行单元测试。测试单元是众所周知的一个测试框架,新添加函数后,在测试单元也要添加相应的测试代码,测试单元运行后会依次调用测试代码,进行函数的单元测试。新测试代码会调用新函数传入相应参数,并判断返回值,用以确定该新函数是否正确执行。在未能通过测试时,处理进行到步骤S65,向用户发出提示信号或信息,之后处理结束。在成功通过测试时,处理进行到步骤S70,对通过测试的功能模块如电话、短信、上网等模块进行计数,每成功一个功能模块则计数器加一。之后,处理进行到步骤S75,确定通过测试的功能模块计数是否大于预定阈值如5,该阈值可根据具体情形任意设定。在通过测试的功能模块计数不大于预定阈值时,处理返回到步骤S25;否则,处理进行到步骤S80,对通过测试的多个功能模块的代码进行集成,即将多个功能模块的代码放在一起。之后,处理进行到步骤S90,触发程序的版本发布,对集成的文件赋予版本号并发布新版本。
[0031]在其它实施例中,基于图2所示的实施例,也可不包括与单元测试有关的步骤S60和S65。在该情形下,步骤S70对编译成功的功能模块进行计数,及步骤S80对编译成功的多个功能模块的代码进行集成。
[0032]上述实施例利用Git仓库负责版本控制即代码的存储仓库及利用Jenkins监测编译、单元测试等具体功能模块,触发流程的推进。这样就完成了一次自动化的版本发布,其间尽可能少的人工参与,软件配置人员大大减少工作量,项目管理者能够更清晰地控制项目,大大提尚了效率。
[0033]图3示出了本发明装置的一实施例,该装置实现程序的自动版本发布,包括:关联模块10,用于将程序的功能模块开发任务与开发计算机相关联并将关联信息保存到服务器;地址生成模块20,用于处理所述关联信息以在服务器生成仓库地址;提交模块30,用于使开发计算机将其开发的源码提交到与其对应的仓库;仓库监听模块40,用于监听仓库状态的变化;编译控制模块50,用于在仓库状态变化表明有新的源码提交时,向编译单元55发送信号并将源码发送到编译单元进行编译操作;测试控制模块60,用于将编译成功的代码发送给测试单元65进行测试;集成模块70,用于对通过测试的多个功能模块的代码进行集成;版本发布模块80,用于在编译成功时触发程序的版本发布。
[0034]—些优选实施例已经在前面进行了说明,但是应当强调的是,本发明不局限于这些实施例,而是可以本发明主题范围内的其它方式实现。
【主权项】
1.一种程序自动版本发布方法,其特征在于,所述方法包括: 将程序的功能模块开发任务与开发计算机相关联并将关联信息保存到服务器; 处理所述关联信息以在服务器生成仓库地址; 开发计算机将其开发的源码提交到与其对应的仓库; 监听仓库状态的变化; 在仓库状态变化表明有新的源码提交时,向编译单元发送信号并将源码发送到编译单元进行编译操作; 在编译成功时触发程序的版本发布。2.根据权利要求1所述的方法,其特征在于,所述方法还包括: 开发计算机从与其对应的仓库下载前次提交的代码并基于前次提交的代码开发后提交开发的源码。3.根据权利要求1所述的方法,其特征在于,在编译成功之后及版本发布之前还包括: 对编译成功的多个功能模块的代码进行集成。4.根据权利要求1所述的方法,其特征在于,在编译成功之后及版本发布之前还包括: 将编译成功的代码发送给测试单元进行测试; 对通过测试的多个功能模块的代码进行集成。5.根据权利要求1或4所述的方法,其特征在于,所述方法还包括: 在编译失败时或者未能通过测试时向用户发出提示信号或信息。6.根据权利要求1所述的方法,其特征在于,所述仓库状态包括打开状态、合并到主干状态、和草稿状态。7.根据权利要求1-4任一所述的方法,其特征在于,所述方法还包括: 对编译成功或通过测试的功能模块进行计数。8.根据权利要求7所述的方法,其特征在于,在所述计数大于或等于预设阈值时触发程序的版本发布。9.一种程序自动版本发布装置,其特征在于,所述装置包括: 关联模块,用于将程序的功能模块开发任务与开发计算机相关联并将关联信息保存到服务器; 地址生成模块,用于处理所述关联信息以在服务器生成仓库地址; 提交模块,用于使开发计算机将其开发的源码提交到与其对应的仓库; 仓库监听模块,用于监听仓库状态的变化; 编译控制模块,用于在仓库状态变化表明有新的源码提交时,向编译单元发送信号并将源码发送到编译单元进行编译操作; 版本发布模块,用于在编译成功时触发程序的版本发布。10.根据权利要求9所述的装置,其特征在于,所述装置还包括: 测试控制模块,用于将编译成功的代码发送给测试单元进行测试; 集成模块,用于对通过测试的多个功能模块的代码进行集成。
【专利摘要】本申请公开了一种程序自动版本发布方法和装置,其中所述方法包括:将程序的功能模块开发任务与开发计算机相关联并将关联信息保存到服务器;处理所述关联信息以在服务器生成仓库地址;开发计算机将其开发的源码提交到与其对应的仓库;监听仓库状态的变化;在仓库状态变化表明有新的源码提交时,向编译单元发送信号并将源码发送到编译单元进行编译操作;在编译成功时触发程序的版本发布。应用本发明的方法和装置,可减少人工参与、节省成本,并实现程序的自动化版本发布,提高效率。
【IPC分类】G06F9/45, G06F9/44
【公开号】CN105653287
【申请号】
【发明人】姜哲, 刘凤兰
【申请人】北京元心科技有限公司
【公开日】2016年6月8日
【申请日】2015年12月31日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1