软件代码版本自动构建及发布方法

文档序号:6441203阅读:371来源:国知局
专利名称:软件代码版本自动构建及发布方法
技术领域
本发明属于软件代码管理与控制技术领域,尤其涉及一种软件代码版本自动构建及发布方法。
背景技术
Hudson是一个开源的持续集成工具,主要用于持续、自动的构建软件项目。使用Hudson工具时,需要把Hudson工具部署到一台服务器上,并且在使用时启动,该服务器被称为Hudson服务器。SVN(Subversion)是一个开源的版本控制工具,主要用于代码的版本控制、分支管理和发布管理等。使用前需要把SVN部署到一台服务器上,并且在使用时启动,该服务器被称为SVN服务器,上面运行的是SVN的服务。版本发布服务器 (Version-release)是研发内部使用的服务器,主要用于存放编译好的版本文件。目前有很多持续集成工具和版本控制工具,通过基本的设置都可以实现定时编译或一键式编译。但是,几乎所有的版本编译及发布过程都需要配置管理员亲自来管控。由于版本编译环境和编译工具的复杂性,在版本编译时即增加了人为操作失误的风险,又无形中给配置管理员增加了很多工作量。虽然目前申请号为20101060M78.3的专利申请已经实现了定时编译以及发布,但是如果版本数量很多的话,配置管理员依旧会成为版本编译及发布工作的瓶颈。

发明内容
本发明的目的在于,针对目前软件代码编译及发布需要由管理员操作进而导致的工作效率低以及出错率高的问题,提出一种软件代码版本自动构建及发布方法,用于解决该问题。为实现上述目的,本发明提供的技术方案是,一种软件代码版本自动构建及发布方法,通过顺序连接的SVN服务器、Hudson服务器和版本发布服务器实现,其特征是所述方法包括步骤1 将开发客户端分别与SVN服务器和Hudson服务器连接;步骤2 开发客户端修改软件代码并编写任务处理命令,将修改的软件代码和编写的任务处理命令发送到SVN服务器的相应项目中;步骤3 =Hudson服务器下载SVN服务器上的每个项目到设定目录;步骤4 开发客户端调用Hudson服务器中的任务,选择待编译的项目;步骤5 =Hudson服务器根据待编译的项目中的任务处理命令,生成临时编译脚本文件,调用待编译的项目中的代码进行编译;步骤6 =Hudson服务器将编译后的结果发送到版本发布服务器。所述开发客户端为开发人员使用的台式计算机、笔记本或者工作站。所述任务处理命令存储在批处理文件中。所述开发客户端调用Hudson服务器中的任务通过WEB方式或者客户端方式。
本发明由软件开发人员通过SVN服务器和Hudson服务器直接编译代码并生成软件版本和发布软件,克服了常用的软件代码版本控制只能由管理员进行管理的弊端。


图1是软件代码版本自动构建及发布方法流程图;图2是软件代码版本自动构建及发布系统结构图。
具体实施例方式下面结合附图,对优选实施例作详细说明。应该强调的是,下述说明仅仅是示例性的,而不是为了限制本发明的范围及其应用。图1是软件代码版本自动构建及发布方法流程图。图1中,本发明提供的软件代码版本自动构建及发布方法通过顺序连接的SVN服务器、Hudson服务器和版本发布服务器实现,包括步骤1 将开发客户端分别与SVN服务器和Hudson服务器连接。图2是软件代码版本自动构建及发布系统结构图。其中,开发客户端分别与SVN服务器和Hudson服务器连接。开发客户端为开发人员使用的台式计算机、笔记本或者工作站,用于编写修改的软件代码和任务处理命令。步骤2 开发客户端修改软件代码并编写任务处理命令,将修改的软件代码和编写的任务处理命令发送到SVN服务器的相应项目中。由于任务处理命令可能不止一个,因此可以将多个任务处理命令存储在批处理文件中,如后缀为bat的文件中,由Hudson服务器按序执行。步骤3 =Hudson服务器下载SVN服务器上的每个项目到设定目录。Hudson服务器上需要设定目录,用于存放从SVN服务器上下载的项目,并用于版本编译及发布的编译目录。如果是随机进行编译,则需要提前在Hudson服务器上建立好一个随机编译目录。步骤4 开发客户端调用Hudson服务器中的任务,选择待编译的项目。通常,开发客户端通过TOB方式(即B/S方式)访问Hudson服务器,调用Hudson 服务器中的任务。当然,出于安全考虑的目的,也可以在开发客户端安装客户端程序,通过客户端方式(即C/S方式)访问Hudson服务器。步骤5 =Hudson服务器根据待编译的项目中的任务处理命令,生成临时编译脚本文件,调用待编译的项目中的代码进行编译。步骤6 =Hudson服务器将编译后的结果发送到版本发布服务器。本发明的进一步效果包括1)研发人员自助编译及发布版本,提高了版本编译及发布过程的灵活性、准确性、 及时性,同时保证了编译结果的稳定性。2)释放了配置管理员在版本编译及发布过程中的重复性工作,杜绝了由于配置管理员人为操作失误带来的诸多问题。3)由于编译环境始终在Hudson服务器上,这就降低了在多语言、多编译工具下的版本编译的复杂性,使版本编译工作及发布变得简单、易操作。
4)由于Hudson服务器由专人维护,研发人员无法访问,不存在研发人员接触产品 /项目全部代码,无信息安全的隐患,适用于信息安全标准较高的组织。以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此, 任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换, 都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
权利要求
1.一种软件代码版本自动构建及发布方法,通过顺序连接的SVN服务器、Hudson服务器和版本发布服务器实现,其特征是所述方法包括步骤1 将开发客户端分别与SVN服务器和Hudson服务器连接; 步骤2 开发客户端修改软件代码并编写任务处理命令,将修改的软件代码和编写的任务处理命令发送到SVN服务器的相应项目中;步骤3 Hudson服务器下载SVN服务器上的每个项目到设定目录; 步骤4 开发客户端调用Hudson服务器中的任务,选择待编译的项目; 步骤5 =Hudson服务器根据待编译的项目中的任务处理命令,生成临时编译脚本文件, 调用待编译的项目中的代码进行编译;步骤6 =Hudson服务器将编译后的结果发送到版本发布服务器。
2.根据权利要求1所述的方法,其特征是所述开发客户端为开发人员使用的台式计算机、笔记本或者工作站。
3.根据权利要求1所述的方法,其特征是所述任务处理命令存储在批处理文件中。
4.根据权利要求1所述的方法,其特征是所述开发客户端调用Hudson服务器中的任务通过WEB方式或者客户端方式。
全文摘要
本发明公开了软件代码管理与控制技术领域中的一种软件代码版本自动构建及发布方法。包括将开发客户端分别与SVN服务器和Hudson服务器连接;开发客户端修改软件代码并编写任务处理命令,将修改的软件代码和编写的任务处理命令发送到SVN服务器的相应项目中;Hudson服务器下载SVN服务器上的每个项目到设定目录;开发客户端调用Hudson服务器中的任务,选择待编译的项目;Hudson服务器根据待编译的项目中的任务处理命令,生成临时编译脚本文件,调用待编译的项目中的代码进行编译;Hudson服务器将编译后的结果发送到版本发布服务器。本发明克服了常用的软件代码版本控制只能由管理员进行管理的弊端。
文档编号G06F9/44GK102520952SQ20111041682
公开日2012年6月27日 申请日期2011年12月14日 优先权日2011年12月14日
发明者董行, 高广新 申请人:北京佳讯飞鸿电气股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1