CN109725909A - 代码文件打包部署方法、持续集成服务器及系统 - Google Patents
代码文件打包部署方法、持续集成服务器及系统 Download PDFInfo
- Publication number
- CN109725909A CN109725909A CN201810431289.0A CN201810431289A CN109725909A CN 109725909 A CN109725909 A CN 109725909A CN 201810431289 A CN201810431289 A CN 201810431289A CN 109725909 A CN109725909 A CN 109725909A
- Authority
- CN
- China
- Prior art keywords
- resource packet
- deployment
- packaged
- file
- code file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种代码文件打包部署方法、持续集成服务器及系统,涉及代码开发技术领域,主要目的在于能够实现持续集成服务器在不连接外部网络的情况下,支持的代码文件打包部署。所述方法包括:获取待打包部署的代码文件以及所述代码文件对应的配置文件;根据所述配置文件包含的依赖资源字段信息和预设的内网资源包管理服务器,确定所述代码文件打包所依赖的依赖资源包,所述内网资源包管理服务器保存有不同依赖资源字段信息分别对应的资源包;将所述代码文件和确定的依赖资源包打包成压缩文件,并发送给部署服务器进行解压部署。本发明适用于代码文件的打包部署。
Description
技术领域
本发明涉及代码开发技术领域,尤其是涉及一种代码文件打包部署方法、持续集成服务器及系统。
背景技术
随着信息技术的不断发展,为了快速满足用户日新月异的需求,产品的迭代速度非常快;参与大型业务开发的团队也逐渐增大,出现多个团队同时维护一个产品。在这种背景和项目需求下,持续集成的开发方式应运而生,完整的持续集成通常包含代码版本控制、代码静态检查、编译、单元测试、打包、部署和自动化测试等过程。通常完整的持续集成开发是由持续集成服务器完成的。
目前,持续集成服务器在对代码文件打包部署时,通常需要连接外部网络下载打包所依赖的资源包,才能完成所述代码文件的打包。然而,一些企业处于安全性的考虑,为了避免外部网络给企业的各个服务器造成安全隐患,通常不允许企业各个服务器连接外部网络,因此,造成持续集成服务器在不连接外部网络的情况下,无法支持代码文件的打包部署。
发明内容
本发明提供了一种代码文件打包部署方法、持续集成服务器及系统,主要在于能够实现持续集成服务器在不连接外部网络的情况下,支持的代码文件打包部署。
根据本发明的第一个方面,提供一种代码文件打包部署方法,包括:
获取待打包部署的代码文件以及所述代码文件对应的配置文件;
根据所述配置文件包含的依赖资源字段信息和预设的内网资源包管理服务器,确定所述代码文件打包所依赖的依赖资源包,所述内网资源包管理服务器保存有不同依赖资源字段信息分别对应的资源包;
将所述代码文件和确定的依赖资源包打包成压缩文件,并发送给部署服务器进行解压部署。
根据本发明的第二个方面,提供一种持续集成服务器,包括:
获取单元,用于获取待打包部署的代码文件以及所述代码文件对应的配置文件;
确定单元,用于根据所述获取单元获取的所述配置文件包含的依赖资源字段信息和预设的内网资源包管理服务器,确定所述代码文件打包所依赖的依赖资源包,所述内网资源包管理服务器保存有不同依赖资源字段信息分别对应的资源包;
打包部署单元,用于将所述获取单元获取的所述代码文件和所述确定单元确定的依赖资源包打包成压缩文件,并发送给部署服务器进行解压部署。
根据本发明的第三个方面,提供一种代码文件打包部署系统,包括:持续集成服务器、预设的内网资源包管理服务器和部署服务器,
持续集成服务器,用于获取待打包部署的代码文件以及所述代码文件对应的配置文件;根据所述配置文件包含的依赖资源字段信息和预设的内网资源包管理服务器,确定所述代码文件打包所依赖的依赖资源包,所述内网资源包管理服务器保存有不同依赖资源字段信息分别对应的资源包;将所述代码文件和确定的依赖资源包打包成压缩文件,并发送给部署服务器进行解压部署。
根据本发明的第四个方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:
获取待打包部署的代码文件以及所述代码文件对应的配置文件;
根据所述配置文件包含的依赖资源字段信息和预设的内网资源包管理服务器,确定所述代码文件打包所依赖的依赖资源包,所述内网资源包管理服务器保存有不同依赖资源字段信息分别对应的资源包;
将所述代码文件和确定的依赖资源包打包成压缩文件,并发送给部署服务器进行解压部署。
根据本发明的第五个方面,提供一种持续集成服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:
获取待打包部署的代码文件以及所述代码文件对应的配置文件;
根据所述配置文件包含的依赖资源字段信息和预设的内网资源包管理服务器,确定所述代码文件打包所依赖的依赖资源包,所述内网资源包管理服务器保存有不同依赖资源字段信息分别对应的资源包;
将所述代码文件和确定的依赖资源包打包成压缩文件,并发送给部署服务器进行解压部署。
本发明提供的一种代码文件打包部署方法、持续集成服务器及系统,与目前持续集成服务器无法支持代码文件的打包部署相比,本发明持续集成服务器能够获取待打包部署的代码文件以及所述代码文件对应的配置文件;并能够根据所述配置文件包含的依赖资源字段信息和预设的内网资源包管理服务器,确定所述代码文件打包所依赖的依赖资源包,所述内网资源包管理服务器保存有不同依赖资源字段信息分别对应的资源包,即能够实现基于预设的内网资源包管理服务器,确定所述代码文件打包所依赖的依赖资源包。与此同时,能够将所述代码文件和确定的依赖资源包打包成压缩文件,并发送给部署服务器进行解压部署,从而能够在不连接外部网络的情况下,基于预设的内网资源包管理服务器,实现代码文件打包部署,并支持的代码文件打包部署。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1示出了本发明实施例提供的一种代码文件打包部署方法流程图;
图2示出了本发明实施例提供的另一种代码文件打包部署方法流程图;
图3示出了本发明实施例提供的一种持续集成服务器的结构示意图;
图4示出了本发明实施例提供的另一种持续集成服务器的结构示意图;
图5示出了本发明实施例提供的一种持续集成服务器的实体结构示意图;
图6示出了本发明实施例提供的一种代码文件打包部署系统的结构示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
如背景技术,持续集成服务器在对代码文件打包部署时,通常需要连接外部网络下载打包所依赖的资源包,才能完成所述代码文件的打包。然而,一些企业处于安全性的考虑,为了避免外部网络给企业的各个服务器造成安全隐患,通常不允许企业各个服务器连接外部网络,因此,造成持续集成服务器在不连接外部网络的情况下,无法支持代码文件的打包部署。
为了解决上述问题,本发明实施例提供一种代码文件打包部署方法,可以应用于持续集成服务器,如图1所示,所述方法包括:
101、获取待打包部署的代码文件以及所述代码文件对应的配置文件。
其中,所述代码文件和所述配置文件可以为开发人员编写完成上传给所述持续集成服务器的。所述代码文件具体可以为JavaScript代码文件、C++代码文件等,所述配置文件具体可以为package.json文件。所述配置文件可以记录所述代码文件运行部署所需要的相关信息。
102、根据所述配置文件包含的依赖资源字段信息和预设的内网资源包管理服务器,确定所述代码文件打包所依赖的依赖资源包。
其中,所述内网资源包管理服务器保存有不同依赖资源字段信息分别对应的资源包。在本发明实施例中,可以在企业的内部网络预先设置资源包管理服务器,然后由资源包管理服务器所对应的管理人员将不同依赖资源字段信息分别对应的资源包上传到所述内网资源包管理服务器中。通过预先设置所述内网资源包管理服务器能够实现无需连接外部网络,即可以离线获取所述代码文件打包所依赖的依赖资源包,从而能够实现持续集成服务器支持的代码文件打包部署。
需要说明的是,所述依赖资源字段信息可以为:消息体-解析器(body-parser)字段、缓存-解析器(cookie-parser)字段、编译(debug)字段、模板库(ejs)字段、开发框架(express)字段、网页标志请求(serve-favicon)字段、分布式文档存储数据库(mongodb)字段等。通过上述字段信息和所述内网资源包管理服务器,可以从企业内网直接获取所述代码文件打包所依赖的body-parser、cookie-parser、debug、ejs、express、serve-favicon、mongodb依赖资源包等。
103、将所述代码文件和确定的依赖资源包打包成压缩文件,并发送给部署服务器进行解压部署。
其中,所述压缩文件的格式可以为zip压缩格式、rar压缩格式等。所述代码文件的部署可以指把开发人员编写的代码文件拿去给用户用,给用户配置代码文件的运行环境,所述运行环境可以包括硬件、软件运行环境、环境变量等。即所述部署服务器在解压所述压缩文件后,为所述代码文件配置相应的运行环境,然后使得所述代码文件能够为用户真正使用。
对于本发明实施例,通过实现持续集成服务器支持的代码文件打包部署,能够节省开发人员自行打包所述代码文件、手动将打包后的代码文件上传到部署服务器所消耗的时间成本,从而能够提升代码文件的打包部署效率。此外,通过持续集成服务器,无需占用开发人员的开发电脑资源,能够实现代码文件的统一打包,能够保证各个开发人员开发的代码文件的打包环境保持一致,从而保证各个打包后的代码文件保持打包一致性,且能够避免源代码文件漏提交的情况发生。
本发明实施例提供的一种代码文件打包部署方法,与目前持续集成服务器无法支持代码文件的打包部署相比,本发明实施例持续集成服务器能够获取待打包部署的代码文件以及所述代码文件对应的配置文件;并能够根据所述配置文件包含的依赖资源字段信息和预设的内网资源包管理服务器,确定所述代码文件打包所依赖的依赖资源包,所述内网资源包管理服务器保存有不同依赖资源字段信息分别对应的资源包,即能够实现基于预设的内网资源包管理服务器,确定所述代码文件打包所依赖的依赖资源包。与此同时,能够将所述代码文件和确定的依赖资源包打包成压缩文件,并发送给部署服务器进行解压部署,从而能够在不连接外部网络的情况下,基于预设的内网资源包管理服务器,实现代码文件打包部署,并支持的代码文件打包部署。
进一步的,为了更好的说明上述代码文件打包部署的过程,作为对上述实施例的细化和扩展,本发明实施例提供了另一种代码文件打包部署方法,可以应用于持续集成服务器,如图2所示,所述方法包括:
201、获取待打包部署的代码文件以及所述代码文件对应的配置文件。
其中,所述代码文件和所述配置文件的相关解释在步骤101已详细描述,在此不进行赘述。
202、根据所述配置文件包含的依赖资源字段信息,生成依赖资源包下载请求。
其中,所述下载请求包括所述依赖资源字段信息。例如,所述代码文件为JavaScript代码,所述配置文件可以为package.json文件、所述依赖资源字段信息可以写在所述package.json文件中的dependencies字段内,如步骤102中所涉及的依赖资源字段信息在所述配置文件的存在形式可以为:
需要说明的是,所述步骤202的具体过程可以为:根据所述内网资源包管理服务器的地址,生成的依赖资源包下载请求,然后将所述依赖资源字段信息添加到生成的依赖资源包下载请求中。例如,生成的下载请求可以为:https://pingan.dev.code/package.tgz,通过所述下载请求,即可以跳转到pingan.dev.code资源包管理服务器,获取离线的依赖资源包。
203、将所述下载请求发送给所述内网资源包管理服务器。
对于本发明实施例,所述内网资源包管理服务器保存有不同依赖资源字段信息分别对应的资源包。所述内网资源包管理服务器在接收所述下载请求后,会直接查询与所述依赖资源字段信息对应的资源包。即所述内网资源包管理服务器将所述依赖资源字段信息与本地保存的依赖资源字段信息进行匹配,若与本地保存的依赖资源字段信息匹配,则确定查询与所述依赖资源字段信息对应的资源包,否则,未查询到与所述依赖资源字段信息对应的资源包。若查询到与所述依赖资源字段信息对应的资源包,则所述内网资源包管理服务器会将所述资源包直接反馈给所述持续集成服务器;若未查询到与所述依赖资源字段信息对应的资源包,则所述内网资源包管理服务器会向所述持续集成服务器发送未查询到所述资源包的通知信息。
需要说明的是,所述持续集成服务器可以通过企业的内部局域网络,将所述下载请求发送给所述内网资源包管理服务器,无需连接外部网络,即可以离线获取所述代码文件打包所依赖的依赖资源包。
204、若接收到所述内网资源包管理服务器反馈的资源包,则将所述反馈的资源包,确定为所述代码文件打包所依赖的依赖资源包。
对于本发明实施例,为了提升所述代码文件的打包部署效率,所述内网资源包管理服务器可以一次向所述持续集成服务器反馈所有的资源包。
205、将所述代码文件和确定的依赖资源包打包成压缩文件,并发送给部署服务器进行解压部署。
对于本发明实施例,为了提升所述代码文件的部署成功率,在步骤205之前,所述方法还可以包括:根据部署服务器所对应的部署类型,确定所述代码文件的部署方式。此时,所述步骤205具体可以包括:所述将所述代码文件、确定的依赖资源包和所述部署方式打包成压缩文件并发送给部署服务器,以便于所述部署服务器对所述压缩文件解压,以及根据所述部署方式和所述确定的依赖资源包对所述代码文件进行部署。其中,所述部署方式可以为支持坏境变量的部署方式或者支持绝对路径的部署方式。即若部署服务器所对应的部署类型为支持环境变量,则确定所述代码的部署方式为支持环境变量的部署方式;若部署服务器所对应的部署类型为支持绝对路径,则确定所述代码的部署方式为支持绝对路径的部署方式。通过根据部署服务器所对应的部署类型,确定所述代码文件的部署方式,能够避免环境变量无效,保证所述代码文件的成功部署。
例如,若部署服务器支持环境变量,则所述代码文件可以采用$NODE_PATH/bin/作为部署安装路径;而若部署服务器不支持环境变量部署,则所述代码文件可以采用/etc/app/bin/作为部署安装路径,这样使得所述代码文件适配不同部署类型的部署服务器。
对于本发明实施例,为了提升查找代码文件所对应的打包文件的效率,轻松回滚到之前的打包文件,同时为了方便对所述打包文件的版本管理,在步骤205之后,所述方法还包括:利用预设版本控制插件标识或记录所述压缩文件的版本号,并将标识或记录有版本号的压缩文件上传给版本控制服务器,以便根据版本号查找所述压缩文件。具体地,当开发人员需要某个版本的代码文件时,可以通过调用版本控制控制去版本控制服务器上提取对应的代码文件,从而能够实现轻松回滚到之前版本的代码文件。
需要说明的是,为了方便开发人员开发,本发明实施例还可以记录开发人员发布所述代码文件的发布时间,以及所述代码文件所对应的打包时间等,从而使得企业中整个产品对应的开发人员都能够获知产品的开发进度。
与步骤204并列的步骤206、若接收到所述内网资源包管理服务器反馈的未查找到资源包的通知信息,则输出资源包缺失告警。
其中,所述资源包缺失告警可以包含缺失资源包所对应的依赖资源包字段。具体地,可以输出资源包缺失的文本告警信息,音频告警信息等。对于本发明实施例,通过输出资源包缺失告警,能够使得所述内网资源包服务器对应的管理人员,更新所述内网资源包服务器上的资源包。
例如,持续集成服务器向所述内网资源包服务器请求开发框架资源包,所述内网资源包管理服务器上未预先存储开发框架资源包时,持续集成服务器会根据接收到的未查询到开发框架资源包的通知信息,向对应的管理人员发出所述述内网资源包管理服务器发出开发框架资源包缺失的告警信息,从而所述管理人员能够及时将开发框架资源包更新到所述内网资源包服务器上,使得后续再进行代码文件打包部署时,能够直接从内网中获取到开发框架资源包,以成功完成代码文件的打包部署。
与步骤204、206并列的步骤207、若接收到所述内网资源包管理服务器反馈的未查找到资源包的通知信息,则向预设的联网中间服务器请求与所述依赖资源字段信息对应的资源包;对所述联网中间服务器反馈的资源包进行安全扫描操作后,加载到所述内网资源包管理服务器中。
对于本发明实施例,所述步骤206和所述步骤207是两种更新所述内网资源包管理服务器方式,具体地,在此不限定其他更新方式。所述预设联网中间服务器可以为企业内部设置的用于连接外部网络的服务器,为了提升企业内部各个服务器的安全性,所述持续集成服务器在接收所述联网中间服务器上传或者发送反馈的资源包时,通常需要进行安全扫描,将可能携带的病毒或者木马彻底杀除,具体地,可以用专业的企业级查杀软件对反馈的资源包进行安全扫描。
本发明实施例提供的另一种代码文件打包部署方法,与目前持续集成服务器无法支持代码文件的打包部署相比,本发明实施例持续集成服务器能够获取待打包部署的代码文件以及所述代码文件对应的配置文件;并能够根据所述配置文件包含的依赖资源字段信息和预设的内网资源包管理服务器,确定所述代码文件打包所依赖的依赖资源包,所述内网资源包管理服务器保存有不同依赖资源字段信息分别对应的资源包,即能够实现基于预设的内网资源包管理服务器,确定所述代码文件打包所依赖的依赖资源包。与此同时,能够将所述代码文件和确定的依赖资源包打包成压缩文件,并发送给部署服务器进行解压部署,从而能够在不连接外部网络的情况下,基于预设的内网资源包管理服务器,实现代码文件打包部署,并支持的代码文件打包部署。
进一步地,作为图1的具体实现,本发明实施例提供了一种持续集成服务器,如图3所示,所述装置包括:获取单元31、确定单元32和打包部署单元33。
所述获取单元31,可以用于获取待打包部署的代码文件以及所述代码文件对应的配置文件。所述获取单元31是本持续集成服务器中获取待打包部署的代码文件以及所述代码文件对应的配置文件的主要功能模块。
所述确定单元32,可以用于根据所述获取单元31获取的所述配置文件包含的依赖资源字段信息和预设的内网资源包管理服务器,确定所述代码文件打包所依赖的依赖资源包,所述内网资源包管理服务器保存有不同依赖资源字段信息分别对应的资源包。所述确定单元32是本持续集成服务器中根据所述配置文件包含的依赖资源字段信息和预设的内网资源包管理服务器,确定所述代码文件打包所依赖的依赖资源包的主要功能模块。
所述打包部署单元33,可以用于将所述获取单元31获取的所述代码文件和所述确定单元32确定的依赖资源包打包成压缩文件,并发送给部署服务器进行解压部署。所述打包部署单元33,是本持续集成服务器中将所述代码文件和确定的依赖资源包打包成压缩文件,并发送给部署服务器进行解压部署的主要功能模块。
对于本发明实施例,为了实现通过预设的内网资源包管理服务器,确定所述代码文件打包所依赖的依赖资源包,所述确定单元32可以包括:生成模块321、发送模块322和确定模块323,如图4所示。
所述生成模块321,可以用于根据所述配置文件包含的依赖资源字段信息,生成依赖资源包下载请求,所述下载请求包括所述依赖资源字段信息。
所述发送模块322,可以用于将所述下载请求发送给所述内网资源包管理服务器,以便于所述内网资源包管理服务器查询与所述依赖资源字段信息对应的资源包。
所述确定模块323,可以用于若接收到所述内网资源包管理服务器反馈的资源包,则将所述反馈的资源包,确定为所述代码文件打包所依赖的依赖资源包。
对于本发明实施例,为了实现所述内网资源包管理服务器能够及时更新缺失的资源包,所述确定单元32还可以包括:输出模块324或者请求模块325。
所述输出模块324,可以用于若接收到所述内网资源包管理服务器反馈的未查找到资源包的通知信息,则输出资源包缺失告警,以便所述内网资源包服务器对应的管理人员,更新所述内网资源包服务器上的资源包。
所述请求模块325,可以用于若接收到所述内网资源包管理服务器反馈的未查找到资源包的通知信息,则向预设的联网中间服务器请求与所述依赖资源字段信息对应的资源包;对所述联网中间服务器反馈的资源包进行安全扫描操作后,加载到所述内网资源包管理服务器中。
此外,为了避免设置的部署环境无效,并提升所述代码文件的部署成功率,所述确定单元32,还用于根据部署服务器所对应的部署类型,确定所述代码文件的部署方式。
所述打包部署单元33,具体可以用于将所述代码文件、确定的依赖资源包和所述部署方式打包成压缩文件并发送给部署服务器,以便于所述部署服务器对所述压缩文件解压,以及根据所述部署方式和所述确定的依赖资源包对所述代码文件进行部署。
对于本发明实施例,为了提升查找代码文件所对应的打包文件的效率,轻松回滚到之前的打包文件,同时为了方便对所述打包文件的版本管理,所述方法还包括:标识单元34和上传单元35。
所述标识单元34,可以用于利用预设版本控制插件标识或记录所述压缩文件的版本号。所述标识单元34是本持续集成服务器中利用预设版本控制插件标识或记录所述压缩文件的版本号的主要功能模块。
所述上传单元35,可以用于将所述标识单元34标识或记录有版本号的压缩文件上传给版本控制服务器,以便根据版本号查找所述压缩文件。所述上传单元35是本持续集成服务器中标识或记录有版本号的压缩文件上传给版本控制服务器的主要功能模块。
需要说明的是,本发明实施例提供的一种持续集成服务器所涉及各功能模块的其他相应描述,可以参考图1所示方法的对应描述,在此不再赘述。
基于上述如图1所示方法,相应的,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:获取待打包部署的代码文件以及所述代码文件对应的配置文件;根据所述配置文件包含的依赖资源字段信息和预设的内网资源包管理服务器,确定所述代码文件打包所依赖的依赖资源包,所述内网资源包管理服务器保存有不同依赖资源字段信息分别对应的资源包;将所述代码文件和确定的依赖资源包打包成压缩文件,并发送给部署服务器进行解压部署。
基于上述如图1所示方法和如图3所示持续集成服务器的实施例,本发明实施例还提供了一种持续集成服务器的实体结构图,如图5所示,该持续集成服务器包括:处理器41、存储器42、及存储在存储器42上并可在处理器上运行的计算机程序,其中存储器42和处理器41均设置在总线43上所述处理器41执行所述程序时实现以下步骤:获取待打包部署的代码文件以及所述代码文件对应的配置文件;根据所述配置文件包含的依赖资源字段信息和预设的内网资源包管理服务器,确定所述代码文件打包所依赖的依赖资源包,所述内网资源包管理服务器保存有不同依赖资源字段信息分别对应的资源包;将所述代码文件和确定的依赖资源包打包成压缩文件,并发送给部署服务器进行解压部署。
进一步地,本发明实施例还提供了一种代码文件打包部署系统,如图6所示,所述系统包括:持续集成服务器51、预设的内网资源包管理服务器52和部署服务器53。
所述持续集成服务器51,可以用于获取待打包部署的代码文件以及所述代码文件对应的配置文件,根据所述配置文件包含的依赖资源字段信息和所述预设的内网资源包管理服务器52,确定所述代码文件打包所依赖的依赖资源包,将所述代码文件和确定的依赖资源包打包成压缩文件,并发送给部署服务器53进行解压部署。
通过本发明的技术方案,持续集成服务器能够获取待打包部署的代码文件以及所述代码文件对应的配置文件;并能够根据所述配置文件包含的依赖资源字段信息和预设的内网资源包管理服务器,确定所述代码文件打包所依赖的依赖资源包,所述内网资源包管理服务器保存有不同依赖资源字段信息分别对应的资源包,即能够实现基于预设的内网资源包管理服务器,确定所述代码文件打包所依赖的依赖资源包。与此同时,能够将所述代码文件和确定的依赖资源包打包成压缩文件,并发送给部署服务器进行解压部署,从而能够在不连接外部网络的情况下,基于预设的内网资源包管理服务器,实现代码文件打包部署,并支持的代码文件打包部署。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (10)
1.一种代码文件打包部署方法,其特征在于,应用于持续集成服务器,包括:
获取待打包部署的代码文件以及所述代码文件对应的配置文件;
根据所述配置文件包含的依赖资源字段信息和预设的内网资源包管理服务器,确定所述代码文件打包所依赖的依赖资源包,所述内网资源包管理服务器保存有不同依赖资源字段信息分别对应的资源包;
将所述代码文件和确定的依赖资源包打包成压缩文件,并发送给部署服务器进行解压部署。
2.根据权利要求1所述的方法,其特征在于,所述根据所述配置文件包含的依赖资源字段信息和预设的内网资源包管理服务器,确定所述代码文件打包所依赖的依赖资源包,包括:
根据所述配置文件包含的依赖资源字段信息,生成依赖资源包下载请求,所述下载请求包括所述依赖资源字段信息;
将所述下载请求发送给所述内网资源包管理服务器,以便于所述内网资源包管理服务器查询与所述依赖资源字段信息对应的资源包;
若接收到所述内网资源包管理服务器反馈的资源包,则将所述反馈的资源包,确定为所述代码文件打包所依赖的依赖资源包。
3.根据权利要求2所述的方法,其特征在于,所述将所述下载请求发送给所述内网资源包管理服务器之后,所述方法还包括:
若接收到所述内网资源包管理服务器反馈的未查找到资源包的通知信息,则输出资源包缺失告警,以便所述内网资源包服务器对应的管理人员,更新所述内网资源包服务器上的资源包。
4.根据权利要求2所述的方法,其特征在于,所述将所述下载请求发送给所述内网资源包管理服务器之后,所述方法还包括:
若接收到所述内网资源包管理服务器反馈的未查找到资源包的通知信息,则向预设的联网中间服务器请求与所述依赖资源字段信息对应的资源包;
对所述联网中间服务器反馈的资源包进行安全扫描操作后,加载到所述内网资源包管理服务器中。
5.根据权利要求1所述的方法,其特征在于,所述将所述代码文件和确定的依赖资源包打包成压缩文件,并发送给部署服务器进行解压部署之前,所述方法还包括:
根据部署服务器所对应的部署类型,确定所述代码文件的部署方式;
所述将所述代码文件和确定的依赖资源包打包成压缩文件,并发送给部署服务器进行解压部署,具体包括:
将所述代码文件、确定的依赖资源包和所述部署方式打包成压缩文件并发送给部署服务器,以便于所述部署服务器对所述压缩文件解压,以及根据所述部署方式和所述确定的依赖资源包对所述代码文件进行部署。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述将所述压缩文件发送给部署服务器进行解压部署之后,所述方法还包括:
利用预设版本控制插件标识或记录所述压缩文件的版本号,并将标识或记录有版本号的压缩文件上传给版本控制服务器,以便根据版本号查找所述压缩文件。
7.一种持续集成服务器,其特征在于,包括:
获取单元,用于获取待打包部署的代码文件以及所述代码文件对应的配置文件;
确定单元,用于根据所述获取单元获取的所述配置文件包含的依赖资源字段信息和预设的内网资源包管理服务器,确定所述代码文件打包所依赖的依赖资源包,所述内网资源包管理服务器保存有不同依赖资源字段信息分别对应的资源包;
打包部署单元,用于将所述获取单元获取的所述代码文件和所述确定单元确定的依赖资源包打包成压缩文件,并发送给部署服务器进行解压部署。
8.一种代码文件打包部署系统,其特征在于,包括权利要求7所述的持续集成服务器、预设的内网资源包管理服务器和部署服务器。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现以下步骤:
获取待打包部署的代码文件以及所述代码文件对应的配置文件;
根据所述配置文件包含的依赖资源字段信息和预设的内网资源包管理服务器,确定所述代码文件打包所依赖的依赖资源包,所述内网资源包管理服务器保存有不同依赖资源字段信息分别对应的资源包;
将所述代码文件和确定的依赖资源包打包成压缩文件,并发送给部署服务器进行解压部署。
10.一种持续集成服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现以下步骤:
获取待打包部署的代码文件以及所述代码文件对应的配置文件;
根据所述配置文件包含的依赖资源字段信息和预设的内网资源包管理服务器,确定所述代码文件打包所依赖的依赖资源包,所述内网资源包管理服务器保存有不同依赖资源字段信息分别对应的资源包;
将所述代码文件和确定的依赖资源包打包成压缩文件,并发送给部署服务器进行解压部署。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810431289.0A CN109725909B (zh) | 2018-05-07 | 2018-05-07 | 代码文件打包部署方法、持续集成服务器及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810431289.0A CN109725909B (zh) | 2018-05-07 | 2018-05-07 | 代码文件打包部署方法、持续集成服务器及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109725909A true CN109725909A (zh) | 2019-05-07 |
CN109725909B CN109725909B (zh) | 2023-07-21 |
Family
ID=66293857
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810431289.0A Active CN109725909B (zh) | 2018-05-07 | 2018-05-07 | 代码文件打包部署方法、持续集成服务器及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109725909B (zh) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110531984A (zh) * | 2019-08-08 | 2019-12-03 | 金蝶软件(中国)有限公司 | 代码编译方法、装置、系统、计算机设备和存储介质 |
CN110727446A (zh) * | 2019-09-25 | 2020-01-24 | 光通天下网络科技股份有限公司 | 自动部署方法、装置、设备及介质 |
CN110908697A (zh) * | 2019-11-28 | 2020-03-24 | 米哈游科技(上海)有限公司 | 一种资源打包方法、装置、服务器及存储介质 |
CN111538926A (zh) * | 2020-04-20 | 2020-08-14 | 北京达佳互联信息技术有限公司 | 一种离线包自动发布方法、装置、电子设备及存储介质 |
CN111897539A (zh) * | 2020-07-20 | 2020-11-06 | 国云科技股份有限公司 | 一种根据服务角色的进行应用部署的方法及装置 |
CN112114871A (zh) * | 2020-09-28 | 2020-12-22 | 北京奇艺世纪科技有限公司 | 一种代码共享方法、装置、服务器、终端及介质 |
CN112328217A (zh) * | 2020-11-03 | 2021-02-05 | 中国平安人寿保险股份有限公司 | 一种代码部署方法、装置、系统、计算机设备和介质 |
CN112596779A (zh) * | 2020-12-16 | 2021-04-02 | 中国建设银行股份有限公司 | 兼容双版本的依赖包生成方法、装置、设备及存储介质 |
CN112688804A (zh) * | 2020-12-18 | 2021-04-20 | 中国平安财产保险股份有限公司 | 业务平台的部署方法、装置、设备及存储介质 |
CN112788029A (zh) * | 2021-01-11 | 2021-05-11 | 河北志晟信息技术股份有限公司 | 一种计算机程序产品发布方法及系统 |
CN112835572A (zh) * | 2021-01-29 | 2021-05-25 | 山东浪潮通软信息科技有限公司 | 一种依赖项目管理工具自定义引用流程的方法及设备 |
CN112882741A (zh) * | 2019-11-29 | 2021-06-01 | 北京沃东天骏信息技术有限公司 | 一种应用管理系统及方法 |
CN113127429A (zh) * | 2021-06-16 | 2021-07-16 | 北京车智赢科技有限公司 | 一种压缩处理方法、系统及计算设备 |
CN113672241A (zh) * | 2021-08-23 | 2021-11-19 | 北京优锘科技有限公司 | 一种3d场景离线部署的方法、装置、设备和存储介质 |
CN113741951A (zh) * | 2020-05-29 | 2021-12-03 | 北京沃东天骏信息技术有限公司 | 本地打包方法和装置 |
CN114328405A (zh) * | 2021-12-02 | 2022-04-12 | 长视科技股份有限公司 | 文件处理方法、装置、计算机设备、存储介质和程序产品 |
CN118409759A (zh) * | 2024-06-28 | 2024-07-30 | 杭州云掣科技有限公司 | 基于go语言的自定义离线产品包部署方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080189324A1 (en) * | 2006-10-13 | 2008-08-07 | Alexander Keller | Systems and methods for expressing temporal relationships spanning lifecycle representations |
CN101924797A (zh) * | 2010-08-26 | 2010-12-22 | 成都市华为赛门铁克科技有限公司 | 资源下载的处理方法、装置及系统 |
US20150081906A1 (en) * | 2010-11-22 | 2015-03-19 | Seven Networks, Inc. | Optimization of resource polling intervals to satisfy mobile device requests |
CN104714812A (zh) * | 2013-12-13 | 2015-06-17 | 中国电信股份有限公司 | 在云环境中快速部署和加载Java应用的方法和系统 |
CN105511872A (zh) * | 2015-11-30 | 2016-04-20 | 国云科技股份有限公司 | 一种基于云计算平台的应用自动化部署方法 |
CN107766047A (zh) * | 2017-09-19 | 2018-03-06 | 南京信息工程大学 | 一种气象模式云部署装置 |
-
2018
- 2018-05-07 CN CN201810431289.0A patent/CN109725909B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080189324A1 (en) * | 2006-10-13 | 2008-08-07 | Alexander Keller | Systems and methods for expressing temporal relationships spanning lifecycle representations |
CN101924797A (zh) * | 2010-08-26 | 2010-12-22 | 成都市华为赛门铁克科技有限公司 | 资源下载的处理方法、装置及系统 |
US20150081906A1 (en) * | 2010-11-22 | 2015-03-19 | Seven Networks, Inc. | Optimization of resource polling intervals to satisfy mobile device requests |
CN104714812A (zh) * | 2013-12-13 | 2015-06-17 | 中国电信股份有限公司 | 在云环境中快速部署和加载Java应用的方法和系统 |
CN105511872A (zh) * | 2015-11-30 | 2016-04-20 | 国云科技股份有限公司 | 一种基于云计算平台的应用自动化部署方法 |
CN107766047A (zh) * | 2017-09-19 | 2018-03-06 | 南京信息工程大学 | 一种气象模式云部署装置 |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110531984A (zh) * | 2019-08-08 | 2019-12-03 | 金蝶软件(中国)有限公司 | 代码编译方法、装置、系统、计算机设备和存储介质 |
CN110727446A (zh) * | 2019-09-25 | 2020-01-24 | 光通天下网络科技股份有限公司 | 自动部署方法、装置、设备及介质 |
CN110908697A (zh) * | 2019-11-28 | 2020-03-24 | 米哈游科技(上海)有限公司 | 一种资源打包方法、装置、服务器及存储介质 |
CN110908697B (zh) * | 2019-11-28 | 2023-06-16 | 米哈游科技(上海)有限公司 | 一种资源打包方法、装置、服务器及存储介质 |
CN112882741A (zh) * | 2019-11-29 | 2021-06-01 | 北京沃东天骏信息技术有限公司 | 一种应用管理系统及方法 |
CN111538926A (zh) * | 2020-04-20 | 2020-08-14 | 北京达佳互联信息技术有限公司 | 一种离线包自动发布方法、装置、电子设备及存储介质 |
CN113741951A (zh) * | 2020-05-29 | 2021-12-03 | 北京沃东天骏信息技术有限公司 | 本地打包方法和装置 |
CN111897539B (zh) * | 2020-07-20 | 2024-03-29 | 国云科技股份有限公司 | 一种根据服务角色的进行应用部署的方法及装置 |
CN111897539A (zh) * | 2020-07-20 | 2020-11-06 | 国云科技股份有限公司 | 一种根据服务角色的进行应用部署的方法及装置 |
CN112114871A (zh) * | 2020-09-28 | 2020-12-22 | 北京奇艺世纪科技有限公司 | 一种代码共享方法、装置、服务器、终端及介质 |
CN112114871B (zh) * | 2020-09-28 | 2023-09-05 | 北京奇艺世纪科技有限公司 | 一种代码共享方法、装置、服务器、终端及介质 |
CN112328217A (zh) * | 2020-11-03 | 2021-02-05 | 中国平安人寿保险股份有限公司 | 一种代码部署方法、装置、系统、计算机设备和介质 |
CN112596779A (zh) * | 2020-12-16 | 2021-04-02 | 中国建设银行股份有限公司 | 兼容双版本的依赖包生成方法、装置、设备及存储介质 |
CN112688804A (zh) * | 2020-12-18 | 2021-04-20 | 中国平安财产保险股份有限公司 | 业务平台的部署方法、装置、设备及存储介质 |
CN112688804B (zh) * | 2020-12-18 | 2023-09-19 | 中国平安财产保险股份有限公司 | 业务平台的部署方法、装置、设备及存储介质 |
CN112788029A (zh) * | 2021-01-11 | 2021-05-11 | 河北志晟信息技术股份有限公司 | 一种计算机程序产品发布方法及系统 |
CN112835572A (zh) * | 2021-01-29 | 2021-05-25 | 山东浪潮通软信息科技有限公司 | 一种依赖项目管理工具自定义引用流程的方法及设备 |
CN112835572B (zh) * | 2021-01-29 | 2024-03-29 | 浪潮通用软件有限公司 | 一种依赖项目管理工具自定义引用流程的方法及设备 |
CN113127429A (zh) * | 2021-06-16 | 2021-07-16 | 北京车智赢科技有限公司 | 一种压缩处理方法、系统及计算设备 |
CN113672241A (zh) * | 2021-08-23 | 2021-11-19 | 北京优锘科技有限公司 | 一种3d场景离线部署的方法、装置、设备和存储介质 |
CN114328405A (zh) * | 2021-12-02 | 2022-04-12 | 长视科技股份有限公司 | 文件处理方法、装置、计算机设备、存储介质和程序产品 |
CN118409759A (zh) * | 2024-06-28 | 2024-07-30 | 杭州云掣科技有限公司 | 基于go语言的自定义离线产品包部署方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109725909B (zh) | 2023-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109725909A (zh) | 代码文件打包部署方法、持续集成服务器及系统 | |
CN112118565B (zh) | 多租户服务灰度发布方法、装置、计算机设备和存储介质 | |
US10990369B2 (en) | Repurposing serverless application copies | |
US10713034B2 (en) | Updating web resources | |
CN112162753B (zh) | 软件部署方法、装置、计算机设备和存储介质 | |
TWI705336B (zh) | 用於支援線上升級的設備和方法 | |
CN108566290B (zh) | 服务配置管理方法、系统、存储介质和服务器 | |
US8756595B2 (en) | Method and system for distributed application stack deployment | |
US9274843B2 (en) | Multi-redundant switchable process pooling for cloud it services delivery | |
US20140082131A1 (en) | Automatically configured management service payloads for cloud it services delivery | |
CN106339273A (zh) | 一种应用程序修复方法、终端及服务器 | |
US20190272224A1 (en) | Establishing and monitoring programming environments | |
CN112631728A (zh) | 联盟链的链码容器管理方法、装置、设备及存储介质 | |
CN110324209B (zh) | 微服务系统监控方法、装置、电子设备及计算机可读介质 | |
CN107807859A (zh) | 一种FaaS框架及其工作方法、开发运维FaaS框架的系统 | |
CN106339237A (zh) | 针对JavaEE领域WEB应用的插件加载框架及方法 | |
US8812556B2 (en) | Storing modification data for recreating modifications | |
US20210149709A1 (en) | Method and apparatus for processing transaction | |
US8589592B2 (en) | Efficient object distribution | |
CN114615128B (zh) | 服务管理方法及系统、计算机存储介质和电子设备 | |
CN112486509B (zh) | 一种Jar包组件热部署方法及系统 | |
WO2016165468A1 (zh) | 一种管理应用系统的方法、装置和系统 | |
CN110427216A (zh) | 构建物应用的管理方法、装置、计算设备及介质 | |
CN112667491B (zh) | 虚拟机的功能测试方法及装置 | |
CN113094211B (zh) | 一种备份数据处理的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |