软件包自动发布方法和系统的制作方法

文档序号:9616136阅读:306来源:国知局
软件包自动发布方法和系统的制作方法
【技术领域】
[0001]本发明涉及计算机领域,尤其涉及一种软件包自动发布方法和系统。
【背景技术】
[0002]随着软件需求的增大,技术的发展,以及人们对软件的应用或者产品的特定设置的要求的提高,各种应用或产品或软件功能的完善不断推陈出新。现有技术中,对应用或产品或软件的研发需要开发人员在本地开发并编译,然后远程登入服务器,并且将编译后的软件包上传至服务器,同时根据不同的现场环境规则,在服务器上修改与现场环境相对应的配置文件,接着根据目的地址而执行分发操作,以完成发布任务。例如,参见图1所示:1)开发本地生成发布包;2)登录服务器;3)上传发布包,并修改配置文件;4)操作IIS。
[0003]由上述过程能够看出,对应用或产品或软件的发布或更新需要花费大量人力以及时间。因人工发布软件包占时较久,且不稳定性高,容易造成人为失误,且效率较低,进而使得用户无法更加快速地使用更新后的应用或产品或软件,降低用户体验。再者,整个软件包发布过程不具有透明性,且不适合多人合作环境。
[0004]因此,亟需提供一种软件包自动发布方法及系统。

【发明内容】

[0005]为了解决上述问题,本发明提供一种软件包自动发布方法及系统,其不仅能够建立重复、可靠的发布流程,以提高软件包发的布质量;而且能够将整个发布流程自动化,提升整个软件包的发布效率;再者,其能够使多个开发人员同时参与,以增加软件开发的透明度。
[0006]依据本发明的一方面,本发明提供了一种软件包自动发布方法,其包括:(1)服务器在接收到客户端所发送的发布指令后,获取待发布软件包的源代码;(2)服务器通过内置编译器对所述源代码进行编译;(3)服务器根据内置的多个现场环境规则,将编译后的源代码进行打包,以生成与现场环境相对应的软件包;(4)服务器根据目标地址将生成的软件包进行分发。
[0007]依据本发明的另一方面,本发明还提供了一种软件包自动发布系统,其包括:源代码获取单元,用以服务器在接收到客户端所发送的发布指令后,获取待发布软件包的源代码;源代码编译单元,用以服务器通过内置编译器对所述源代码进行编译;打包单元,用以服务器根据内置的多个现场环境规则,将编译后的源代码进行打包,以生成与现场环境相对应的软件包;软件包分发单元,用以服务器根据目标地址将生成的软件包进行分发。
[0008]本发明的优点在于,通过采用本发明所述的软件包自动发布方法及系统,其能够建立重复、可靠的发布流程,以提高软件包的发布质量,进而避免人为失误,而且能够将整个发布流程自动化,提升整个软件包的发布效率,进而减少相关人员浪费时间在毫无技术含量的重复劳动之中,再者,其能够使多个开发人员同时参与,以增加软件开发的透明度,进而避免团队中的其他人员无法及时得知整个发布进程。
【附图说明】
[0009]根据下文结合附图对本发明【具体实施方式】的详细描述,本领域技术人员将会更加明白本发明上述以及其他目的、优点和特征。
[0010]通过阅读下文【具体实施方式】的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出【具体实施方式】的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。
[0011]图1是现有技术中软件包发布的步骤流程图;
[0012]图2是本发明一实施方式中软件包自动发布方法的步骤流程图;
[0013]图3是本发明一实施方式中软件包自动发布系统的框架示意图;
[0014]图4是本发明一实施方式中源代码获取单元的结构示意图;
[0015]图5是本发明一实施方式中打包单元的结构示意图;
[0016]图6是本发明一实施方式中软件包分发单元的结构示意图;
[0017]图7是本发明另一实施方式中软件包分发单元的结构示意图;
[0018]图8是本发明另一实施方式中软件包分发单元的结构示意图;
[0019]图9是本发明另一实施方式中软件包分发单元的结构示意图;
[0020]图10是本发明另一实施方式中打包单元的结构示意图。
【具体实施方式】
[0021]下面将参考附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应所阐述的实施例限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整地传达给本领域的技术人员。
[0022]参见图2所示,本发明提供一种软件包自动发布方法,该方法包括以下步骤:
[0023]步骤S210:服务器在接收到客户端所发送的发布指令后,获取待发布软件包的源代码。
[0024]在此步骤中,待发布软件包的源代码可以存储在开发人员的本地设备中或者存储在一集中式管理的源代码管理服务器(如TFS模式的服务器)中,且不限于此。开发人员或测试人员或其他相关人员可以通过客户端或前台所提供的(网站)站点,选择待发送的软件包及其相应的现场环境、相关参数等,以执行发布指令。服务器在接收到开发人员或测试人员或其他相关人员的发布请求之后,可以根据软件包的名称、版本等信息调用并获取相应软件包的源代码。在本实施方式中,可以进一步包括以下步骤:(11)服务器提供一配置点,以确定现场环境中对应的目标服务器。(12)服务器提供一目标需求列表,以选择与目标需求相对应的代码包,进而确定与目标需求相对应的现场环境。其中,在步骤(11)中,通过一配置点,可以确定待发送的代码包所对应的现场环境(例如开发环境、测试环境、生产环境等),每一现场环境对应于相应的目标服务器(包括目标服务器的数量等)。在步骤
(12)中,当选择与目标需求相对应的代码包(即程序)时,可以确定该软件包将发送到相应的现场环境(例如测试环境、生产环境)。
[0025]步骤S220:服务器通过内置编译器对所述源代码进行编译。
[0026]在此步骤中,服务器可以通过内置的编译器,例如C、PHP、Python、Java等多种语言的编译器进行编译。该编译器可以为本领域技术人员所常用的编译器,在此不再一一列举。
[0027]步骤S230:服务器根据内置的多个现场环境规则,将编译后的源代码进行打包,以生成与现场环境相对应的软件包。
[0028]在编译完代码后,根据不同的配置文件而产生不同的软件包。
[0029]在本实施方式中,可以进一步包括以下步骤:(31)服务器调用所有现场环境配置的模板库;(32)服务器通过一多环境配置文件生成工具并根据与目标需求相对应的代码包,在所有现场环境配置的模板库中查找与现场环境相对应的配置文件数据;(33)在所有现场环境配置的模板库中成功提取到相对应的配置文件数据之后,将所提取的配置文件数据并入至配置文件模板,以生成相应的配置文件;(34)将所生成的配置文件添加至编译后的源代码之中,以执行后继的打包操作。
[0030]其中,在步骤(31)中,所有现场环境配置(例如测试环境、生产环境等)的模板库可以存储于一文件之中,该文件类似于文本文件。
[0031]在步骤(32)中,当开发人员或测试人员或其他相关人员在选择待发布软件包时,就已经自动确认了相应的环境(例如开发环境、测试环境、生产环境),而且每一个现场环境均有其对应的配置文件数据,因此,利用存储于上述文件的起始位置的环境标识,并且通过多环境配置文件生成工具(configtools)在所有现场环境配置的模板库中查找与现场环境相对应的配置文件数据,其中该环境标识具有唯一性,且用以区分不同的环境(例如开发环境、测试环境、生产环境)。
[0032]在步骤(33)中,在所有现场环境配置的模板库中成功提取到相对应的配置文件数据(其为xml文件)之后,将所提取的配置文件数据并入至配置文件模板(其为tpl文件),以生成相应的配置文件(其为cfg文件)。上述tpl文件用以配置节点,xml文件用以根据不同环境产生相应的配置文件数据,相当于数据源,用以提供每一环境所对应的具体值,例如用
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1