System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及软件开发,尤其是涉及一种应用程序自动部署装置、方法、设备及介质。
技术介绍
1、在互联网应用的开发过程中,经常会遇到需要开发流程模板的模块。在上述开发过程中,一般需要经过多个环节,每个环节对应一种环境(如:dev、test、beta、pro等),还可能涉及多种语言(如:java、go、node等)。
2、传统的cicd流水线通常只支持单一语言类型的应用程序的构建、测试和部署,而随着软件开发的多样化和复杂化,不同语言类型的应用程序的需求也越来越多,现有的cicd流水线已经无法满足应用程序的开发和维护需求。
技术实现思路
1、本申请提供了一种应用程序自动部署装置、方法、设备及介质,能够支持多语言类型的应用程序自动部署。
2、第一方面,本申请提供一种应用程序自动部署装置,采用如下的技术方案:
3、一种应用程序自动部署装置,包括:
4、语言编译组件,用于采集分布式版本控制系统中的待部署代码,识别所述待部署代码的语言并进行编译;
5、构建工具组件,用于对编译后的代码进行打包并存储至存储工具组件;
6、部署工具组件,用于调取所述存储工具组件部署目标应用程序。
7、进一步地,上述语言编译组件包括java编译器、javascript编译器、python编译器、c语言编译器和/或c++编译器。
8、进一步地,上述部署工具组件包括k8s集群容器和oss对象存储,所述oss对象存储用于部署前端应用程
9、进一步地,上述部署工具组件包括审批组件,所述审批组件用于通过集成的dingtalkapp接口,调用dingtalkapp对部署流程进行审批,以使一个部署节点内的审批节点全部通过后,执行下一步动作。
10、第二方面,本申请提供一种应用程序自动部署方法,采用如下的技术方案:
11、一种应用程序自动部署方法,应用上述的应用程序自动部署装置,包括以下步骤:
12、采集分布式版本控制系统中的待部署代码,对所述待部署代码进行变更和分支绑定,得到初始代码;
13、启用cicd流水线识别所述初始代码的编写语言,选取所述编写语言对应的编译组件进行编译,得到编译代码;
14、通过构建工具组件对所述编译代码进行打包,得到构建代码并存储;
15、部署所述构建代码,得到目标应用程序。
16、进一步地,上述对所述待部署代码进行变更和分支绑定的过程中,还包括:
17、将所述待部署代码提交至codereview平台进行审查;
18、和/或
19、对所述待部署代码进行stc安全扫描和缺陷管理。
20、进一步地,上述部署所述构建代码包括:
21、通过所述构建代码中的镜像文件对接部署工具组件接口,根据部署节点使用构建代码分批次替换应用程序中的原始代码,替换完成后重启应用程序。
22、进一步地,上述根据部署节点使用构建代码分批次替换应用程序中的原始代码包括:
23、每个所述部署节点均包括至少一个审批节点,响应于一个所述部署节点内的审批节点全部通过,执行下一步动作。
24、第三方面,本申请提供一种计算机设备,采用如下的技术方案:
25、一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如第二方面所述的方法。
26、第四方面,本申请提供一种计算机可读存储介质,采用如下的技术方案:
27、一种计算机可读存储介质,存储有能够被处理器加载并执行如第二方面中任一种方法的计算机程序。
28、综上所述,本申请包括以下至少一种有益技术效果:
29、本申请提供了一种应用程序自动部署装置、方法、设备及介质,开发人员只需要将代码提交到分布式版本控制系统中,分布式版本控制系统就可以自动对代码进行变更和分支绑定,启用cicd流水线自动合并分支,然后根据代码的语言类型选择相应的语言编译组件对代码进行编译、构建和存储,最后调用存储的代码进行自动化部署,得到目标应用程序。通过自动化流程,减少了人为干预和手动操作,提高了软件交付的效率。开发人员只需要提交代码,cicd流水线就会自动识别语言,进行编译、测试和部署,大大缩短了软件交付的周期;能够快速构建、测试和部署新功能,支持快速迭代,开发人员可以快速地将新功能交付给用户,及时获取用户反馈,进一步优化和改进软件。
本文档来自技高网...【技术保护点】
1.一种应用程序自动部署装置,其特征在于,包括:
2.根据权利要求1中所述的应用程序自动部署装置,其特征在于,所述语言编译组件包括Java编译器、JavaScript编译器、Python编译器、C语言编译器和/或c++编译器。
3.根据权利要求1中所述的应用程序自动部署装置,其特征在于,所述部署工具组件包括K8S集群容器和OSS对象存储,所述OSS对象存储用于部署前端应用程序和移动端应用程序,所述K8S集群容器用于部署其它容器化应用程序。
4.根据权利要求1或3中任一项所述的应用程序自动部署装置,其特征在于,所述部署工具组件包括审批组件,所述审批组件用于通过集成的DingtalkAPP接口,调用DingtalkAPP对部署流程进行审批,以使一个部署节点内的审批节点全部通过后,执行下一步动作。
5.一种应用程序自动部署方法,应用权利要求1-4中任一项所述的应用程序自动部署装置,其特征在于,包括以下步骤:
6.根据权利要求5所述的应用程序自动部署方法,其特征在于,所述对所述待部署代码进行变更和分支绑定的过程中,还包括:
>7.根据权利要求5或6中任一项所述的应用程序自动部署方法,其特征在于,所述部署所述构建代码包括:
8.根据权利要求7所述的应用程序自动部署方法,其特征在于,所述根据部署节点使用构建代码分批次替换应用程序中的原始代码包括:
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机程序,所述计算机程序用于实现如权利要求5-8中任一项所述的方法。
10.一种计算设备,其特征在于,所述计算设备包括存储器和处理器,所述存储器用于存储计算机程序,当所述计算机程序被所述处理器执行时,实现如权利要求5-8中任一项所述的方法。
...【技术特征摘要】
1.一种应用程序自动部署装置,其特征在于,包括:
2.根据权利要求1中所述的应用程序自动部署装置,其特征在于,所述语言编译组件包括java编译器、javascript编译器、python编译器、c语言编译器和/或c++编译器。
3.根据权利要求1中所述的应用程序自动部署装置,其特征在于,所述部署工具组件包括k8s集群容器和oss对象存储,所述oss对象存储用于部署前端应用程序和移动端应用程序,所述k8s集群容器用于部署其它容器化应用程序。
4.根据权利要求1或3中任一项所述的应用程序自动部署装置,其特征在于,所述部署工具组件包括审批组件,所述审批组件用于通过集成的dingtalkapp接口,调用dingtalkapp对部署流程进行审批,以使一个部署节点内的审批节点全部通过后,执行下一步动作。
5.一种应用程序自动部署方法,应用...
【专利技术属性】
技术研发人员:李丹阳,
申请(专利权)人:上海申雪供应链管理有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。