一种基于多语言环境的软件包发布方法及系统技术方案

技术编号:14881509 阅读:49 留言:0更新日期:2017-03-24 04:04
本发明专利技术公开了一种基于多语言环境的软件包发布方法及系统,所述方法包括以下步骤:(a)服务器通过内置编译器对源代码进行编译;(b)服务器对编译后的源代码进行打包,以生成编译包;(c)服务器发送配置信息请求至一配置模块,以获取相应的配置信息;(d)服务器将所接收到所述配置信息添加至所述编译包,以生成相应的部署包,进而执行定向目标的分发操作。本发明专利技术不仅能够在一定程度上消除人为操作所产生的错误,以增加发布的可靠性,通过系统自动执行重复性的工作来降低发布的成本,而且通过合理的部署编译包而能够有效地利用整个系统的资源,以达到节省资源的目的。

【技术实现步骤摘要】

本专利技术涉及计算机领域,尤其涉及一种基于多语言环境的软件包发布方法及系统
技术介绍
随着软件需求的增大,技术的发展,以及人们对软件的应用或者产品的特定设置的要求的提高,各种应用或产品或软件功能的完善不断推陈出新。现有技术中,对应用或产品或软件的研发需要开发人员在本地开发并编译,然后远程登入服务器,并且将编译后的软件包上传至服务器,同时根据不同的现场环境规则,在服务器上修改与现场环境相对应的配置文件,接着根据目的地址而执行分发操作,以完成发布任务。对应用或产品或软件的发布或更新需要大量人为操作的介入,这样会造成开发或发布人员的精力浪费在重复性的操作中,增加发布的成本,并且人为操作会不可避免的产生误操作的问题,使得发布可靠降低。另外,在现有技术中,在服务器通过内置编译器对源代码完成编译操作之后,服务器会根据内置的多个现场环境规则进行多次打包,以生成与现场环境(例如测试环境、UAT环境及生产环境等)相对应的软件包。当完成编译后进行测试,如果在测试过程中发现问题需要重新编译打包,以至不必要生成UAT环境软件包及生产环境软件包,同时也会造成服务器资源的浪费。再者,现有技术的发布系统仅支持单一语言环境,其并不适用于多语言环境。因此,亟需提供一种基于多语言环境的软件包发布方法及系统。
技术实现思路
为了解决上述问题,本专利技术提供一种基于多语言环境的软件包发布方法及系统,其不仅能够在一定程度上消除人为操作所产生的错误,以增加发布的可靠性,通过系统自动执行重复性的工作来降低发布的成本,而且通过合理的部署编译包而能够有效地利用整个系统的资源,以达到节省资源的目的。本专利技术的一方面,提供一种基于多语言环境的软件包发布方法,其包括以下步骤:(a)服务器通过内置编译器对源代码进行编译;(b)服务器对编译后的源代码进行打包,以生成编译包;(c)服务器发送配置信息请求至一配置模块,以获取相应的配置信息;(d)服务器将所接收到所述配置信息添加至所述编译包,以生成相应的部署包,进而执行定向目标的分发操作。本专利技术的另一方面,提供一种基于多语言环境的软件包发布系统,其包括:源代码编译单元,所述源代码编译单元用于服务器通过内置编译器对源代码进行编译;源代码打包单元,所述源代码打包单元与所述源代码编译单元相连,用于服务器对编译后的源代码进行打包,以生成编译包;配置信息获取单元,所述配置信息获取单元与所述源代码打包单元相连,用于服务器发送配置信息请求至一配置模块,以获取相应的配置信息;部署包生成单元,所述部署包生成单元与所述配置信息获取单元相连,用于服务器将所接收到所述配置信息添加至所述编译包,以生成相应的部署包,进而执行定向目标的分发操作。本专利技术的优点在于,本专利技术通过基于语言环境的软件包发布方法及系统,不仅实现在一定程度上消除人为操作所产生的错误,以增加发布的可靠性,通过系统自动执行重复性的工作来降低发布成本的目的,而且通过合理的部署编译包而能够有效地利用整个系统的资源,以达到节省资源的效果。附图说明图1是本专利技术一实施例中基于多语言环境的软件包发布方法的流程步骤示意图;图2是本专利技术一实施例中基于多语言环境的软件包发布系统的架构示意图。具体实施方式下面结合附图对本专利技术提供的基于多语言环境的软件包发布方法及系统的具体实施方式做详细说明。参见图1,本专利技术提供一种基于多语言环境的软件包发布方法,其包括以下步骤:(a)服务器通过内置编译器对源代码进行编译;(b)服务器对编译后的源代码进行打包,以生成编译包;(c)服务器发送配置信息请求至一配置模块,以获取相应的配置信息;(d)服务器将所接收到所述配置信息添加至所述编译包,以生成相应的部署包,进而执行定向目标的分发操作。以下将具体描述每一步骤。步骤S110:服务器通过内置编译器对源代码进行编译。在此步骤中,服务器通过内置编译器,例如C、PHP、Python、JAVA、.NET等多种语言的编译器进行编译。该编译器可以为本领域技术人员所常用的编译器,在此不再一一列举。另外,此处所述服务器是指具有编译、打包及分发功能的服务器(下文相同),当然在其他实施例中,可以设置多个服务器,分别具有编译、打包及分发功能。步骤S120:服务器对编译后的源代码进行打包,以生成编译包。在此步骤中,生成的编译包仅包含代码,不包含任何环境相应的配置信息。例如,.NET语言编译器编译生成的编译包仅包含.dll文件,不包含环境相应的配置信息。步骤S130:服务器发送配置信息请求至一配置模块,以获取相应的配置信息。在此步骤中,通过配置模块(或称配置中心)以获取相应的配置信息,包括与现场环境相对应的配置文件数据,例如,根据目标服务器环境(诸如测试环境、UAT环境、生产环境等)而确定出一定向目标的服务器地址,以作为配置文件数据,并返回至服务器。当然,可以利用唯一的环境标识以区分不同的目标服务器环境。步骤S140:服务器将所接收到所述配置信息添加至所述编译包,以生成相应的部署包,进而执行定向目标的分发操作。在此步骤中,基于上述编译源代码所生成的编译包(其未包含环境配置信息的代码包),将配置信息添加至相应的编译包中,以生成相应的部署包。在现有技术中,编译源代码所生成的代码包是包括生成所有环境配置信息的代码包(例如测试环境、UAT环境、生产环境等)的软件包。正如
技术介绍
所言,当完成编译后进行测试,如果在测试过程中发现问题需要重新编译打包,以至不必要生成UAT环境软件包及生产环境软件包,同时也会造成服务器资源的浪费。而在本专利技术中,在步骤S120中生成的编译包仅包含代码,不包含任何环境配置信息,只是在发布至目标服务器之前,从配置模块(其可以设置在一专用服务器中,不限于此)中根据所确定出的目标服务器(及其环境)而提取出相应的配置信息,并且将其添加至所述编译包中,以形成相应的部署包,从而完成定向目标的发送操作。于是,通过合理的部署编译包而能够有效地利用整个系统的资源,以达到节省资源的效果。需注意的是,在本实施例中,上述步骤是针对.NET语言的编译包而言。如果是JAVA语言,则编译源代码后直接生成部署包,当该部署包在TOMCAT容器中运行且接收到外界的访问请求时,会自动从配置模块获取相关的配置信息,以完成后继操作。因此,通过上述步骤的实施,本专利技术所述方法能够适用于多语言环境(例如在windows操作系统的IIS容器中,在linux操作系统的Tomcat容器中,或其他语言环境且不限于此)进行相关操作。另外,在步骤S140之后,在一实施例中,可以进一步包括步骤:(11)设置一文件镜像服务器;(12)将部署包发送至所述文件镜像服务器;(13)目标服务器通过专用网络从所述文件镜像服务器中获取相关的部署包。一般情况,生成部署包的服务器的地理位置与目标服务器(一般为多个目标服务器)的地理位置是不同的,且在不同区域。因此,如果将部署包从其所属的服务器直接发送至同一区域中的不同目标服务器(相当于多次重复发送部署包至目标服务器),那么可能会产生至目标服务器的网络拥塞现象。而在本实施例中,首先将部署包指定发送至所述文件镜像服务器,其中,所述文件镜像服务器与目标服务器设置在同一区域,且彼此通过专用网络相连,然后通知与所述文件镜像服务器相连的目标服务器,接着所述目标服务器通过本文档来自技高网
...
一种基于多语言环境的软件包发布方法及系统

【技术保护点】
一种基于多语言环境的软件包发布方法,其特征在于,包括以下步骤:(a)服务器通过内置编译器对源代码进行编译;(b)服务器对编译后的源代码进行打包,以生成编译包;(c)服务器发送配置信息请求至一配置模块,以获取相应的配置信息;(d)服务器将所接收到所述配置信息添加至所述编译包,以生成相应的部署包,进而执行定向目标的分发操作。

【技术特征摘要】
1.一种基于多语言环境的软件包发布方法,其特征在于,包括以下步骤:(a)服务器通过内置编译器对源代码进行编译;(b)服务器对编译后的源代码进行打包,以生成编译包;(c)服务器发送配置信息请求至一配置模块,以获取相应的配置信息;(d)服务器将所接收到所述配置信息添加至所述编译包,以生成相应的部署包,进而执行定向目标的分发操作。2.根据权利要求1所述的基于多语言环境的软件包发布方法,其特征在于,在步骤(d)之后进一步包括:(e)设置一文件镜像服务器;(f)将部署包发送至所述文件镜像服务器;(g)目标服务器通过专用网络从所述文件镜像服务器中获取相关的部署包。3.根据权利要求1所述的基于多语言环境的软件包发布方法,其特征在于,在步骤(d)之后进一步包括:(h)设置一文件存储集群服务器;(i)将所有部署包备份至所述文件存储集群服务器;(j)从所述文件存储集群服务器发送所述部署包发送至文件镜像服务器;(k)目标服务器通过专用网络从所述文件镜像服务器中获取相关的部署包;(l)当目标服务器需要执行版本回滚操作时,根据所述目标服务器所存储的历史记录信息,查找一先前版本且有效的部署包,如果查找到,则获取所述有效部署包,并结束执行;否则,执行步骤(m);(m)通过所述文件镜像服务器查询相应版本的有效部署包,如果查找到,则获取所述有效部署包,并结束执行;否则,执行步骤(n);(n)通过所述文件存储集群服务器查询相应版本的有效部署包。4.根据权利要求1所述的基于多语言环境的软件包发布方法,其特征在于,在步骤(d)之中,进一步包括:(o)设置一监控模块;(p)所述监控模块长期且周期性地与目标服务器进行心跳通信连接;(q)当所述监控模块在发送心跳通信请求至所述目标服务器之后,在一预设时间内没有从所述目标服务器接收到心跳通信响应,则发送通知信息给用户,并且结束执行;(r)在将相应的部署包进行定向分发之前,所述监控模块再次发送心跳通信请求至所述目标服务器;(s)当所述监控模块接收到从所述目标服务器返回的心跳通信响应时,发送相应的部署包至所述目标服务器。5.根据权利要求1所述的基于多语言环境的软件包发布方法,其特征在于,在步骤(a)和(b)中进一步包括:(t)设置一管道模块;(u)通过异步方式在所述管道模块中执行源代码染色操作;(v)通过异步方式在所述管道模块中执行对编译后的源代码进行自动化测试操作。6.一种基于多语言环境的软件包发布系统,其特征在于,包括:源代码编译单元,所述源代码编译单元用于服务器通过内置编译器对源代码进行编译;源代码打包单元,所述源代码打包单元与所述源代码编译单元相连,用于服务器对编译后的源代码进行打包,以生成编译包;配置信息获取单元,所述配置信息获取单元与所述源代码打包单元相连,用于服务器发送配置信息请求至一配置模块,以获取相应的配置信息;部署包生成单元,所述部署包生成单元与所述配置信息获...

【专利技术属性】
技术研发人员:孙维杰
申请(专利权)人:上海找钢网信息科技股份有限公司
类型:发明
国别省市:上海;31

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

1