一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于DevOps的应用云上部署方法及系统与流程

2022-04-30 17:18:50 来源:中国专利 TAG:

一种基于devops的应用云上部署方法及系统
技术领域
1.本发明公开一种基于devops的应用云上部署方法及系统,涉及软件开发运维一体化技术领域。


背景技术:

2.devops是development和operations的组合词,是一组过程、方法和系统的统称,用于促进开发、技术运营和质量保障部门之间的沟通、协作和整合。对于当前常见的瀑布式软件交付模型,从需求采集、产品设计到后续的功能开发、产品测试及部署,这种模式在客户的需求明确、项目工期充足、人员配备齐整的较为理想的情况下,能够实现优质交付,但一旦某一环节出现问题,就会造成整个流程的停滞;而敏捷开发快速迭代的效果也仅是在开发过程,开发和运维的和环节仍然是割裂的。而devops服务贯穿了软件生命周期,平顺的连通了开发和运维环节,在企业中收到越来越广泛的欢迎。
3.故现在发明一种基于devops的应用云上部署方法及系统,以解决上述问题。


技术实现要素:

4.本发明针对现有技术的问题,提供一种基于devops的应用云上部署方法及系统,所采用的技术方案为:一种基于devops的应用云上部署方法,所述的方法具体步骤如下:
5.s1代码上云适配改造;
6.s2利用资源编排准备云基础资源;
7.s3通过devops云服务实现云商开发运维协同;
8.s4根据需求准备基础资源的部署,实现滚动升级。
9.所述s2利用资源编排准备云基础资源的具体步骤如下:
10.s201可视化编辑器模板中定义所需的云计算资源间依赖关系;
11.s202通过定义模板对一组云资源进行统一管理,并提供应用的自动化部署功能。
12.所述s3通过devops云服务实现云商开发运维协同的具体步骤如下:
13.s301将代码提交至代码仓库完成代码托管;
14.s302通过构建管理描述构建镜像所需要的元数据信息;
15.s303利用api测试服务对外部提供的接口进行测试;
16.s304对提供的规则信息进行代码扫描;
17.s305对云服务流水线服务部署的应用进行自定义编排,并输出流程。
18.所述s4基于云服务器部署应用,根据需求准备基础资源部署,实现滚动升级。
19.所述s4基于容器引擎部署应用,根据需求准备基础资源的部署,实现滚动升级。
20.一种基于devops的应用云上部署系统,所述的系统具体包括适配改造模块、资源编排模块、云上开发模块和资源部署模块:
21.适配改造模块:代码上云适配改造;
22.资源编排模块:利用资源编排准备云基础资源;
23.云上开发模块:通过devops云服务实现云商开发运维协同;
24.资源部署模块:根据需求准备基础资源的部署,实现滚动升级。
25.所述资源编排模块具体包括关系定义模块和管理部署模块:
26.关系定义模块:可视化编辑器模板中定义所需的云计算资源间依赖关系;
27.管理部署模块:通过定义模板对一组云资源进行统一管理,并提供应用的自动化部署功能。
28.所述云上开发模块具体包括代码托管模块、构件管理模块、接口测试模块、代码扫描模块和应用编排模块:
29.代码托管模块:将代码提交至代码仓库完成代码托管;
30.构件管理模块:通过构建管理描述构建镜像所需要的元数据信息;
31.接口测试模块:利用api测试服务对外部提供的接口进行测试;
32.代码扫描模块:对提供的规则信息进行代码扫描;
33.应用编排模块:对云服务流水线服务部署的应用进行自定义编排,并输出流程。
34.所述资源部署模块基于云服务器部署应用,根据需求准备基础资源部署,实现滚动升级。
35.所述资源部署模块基于容器引擎部署应用,根据需求准备基础资源的部署,实现滚动升级。
36.本发明的有益效果为:通过本发明方法应用进行上云适配改造,代码提交至公有云代码仓库服务,创建构建后组装流水线,根据部署方式选择输出类型,然后根据部署需求准备云服务基础资源及相应的服务,最后实现滚动升级;本发明方法将传统应用云化部署/云化改造成为越来越多企业的选择,将企业的信息管理系统、业务应用系统部署到云计算平台,利用云计算平台的弹性计算、存储、应用和数据治理等服务,可以有效降低企业运维成本,提高安全防护能力,也满足企业快速灵活部署应用的需求。
附图说明
37.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
38.图1是本发明方法的流程图。
具体实施方式
39.下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
40.实施例一:
41.一种基于devops的应用云上部署方法,所述的方法具体步骤如下:
42.s1代码上云适配改造;
43.s2利用资源编排准备云基础资源;
44.s3通过devops云服务实现云商开发运维协同;
45.s4根据需求准备基础资源的部署,实现滚动升级;
46.通过本发明方法应用进行上云适配改造,代码提交至公有云代码仓库服务,创建构建后组装流水线,根据部署方式选择输出类型,然后根据部署需求准备云服务基础资源及相应的服务,最后实现滚动升级;
47.传统应用一般选择自建基础设施和中间件服务,在实施应用云化部署之后,为保证应用的良好适配以及交付中间件运维工作,使用云厂商中间件服务代替自建服务,相应的,需要调整原本配置文件中的中间件服务服务地址以及服务间调用方式;
48.中间件服务适配一般是调整数据库数据源地址,消息队列服务地址,api网关地址及负载均衡等,基于同一vpc替换内网服务地址,或者修改为云服务提供的访问地址;
49.服务间调用方式变更取决于最终的应用部署方式,以应用包部署方式,则服务间调用调整为服务资源ip及开放端口,如采用docker k8s方式部署,则可配置k8s内部域名完成服务间调用;
50.进一步的,所述s2利用资源编排准备云基础资源的具体步骤如下:
51.s201可视化编辑器模板中定义所需的云计算资源间依赖关系;
52.s202通过定义模板对一组云资源进行统一管理,并提供应用的自动化部署功能;
53.基于可视化编辑器简化云计算资源管理,通过定义模板的方式实现一组云资源的统一管理,并提供应用的自动化部署功能;在模板中定义所需的云计算资源(例如ecs实例、ebs实例)、资源间的依赖关系等,实现自动化部署基础资源实例;
54.进一步的,所述s3通过devops云服务实现云商开发运维协同的具体步骤如下:
55.s301将代码提交至代码仓库完成代码托管;
56.s302通过构建管理描述构建镜像所需要的元数据信息;
57.s303利用api测试服务对外部提供的接口进行测试;
58.s304对提供的规则信息进行代码扫描;
59.s305对云服务流水线服务部署的应用进行自定义编排,并输出流程;
60.公有云代码仓库是基于gitlab的在线代码托管,具备安全监管、分支保护/合并、在线代码编辑等功能的云端代码仓库,旨在解决软件开发者在跨地域协同、多分支并发、代码版本管理、安全性等方面的问题;将代码提交至代码仓库完成代码托管;
61.构建管理描述了由源代码或程序包构建镜像所需的元数据,包括:源码库配置、语言和构建工具、触发器、软件包信息、构件信息、镜像信息等;用户可基于构建进行镜像的build和研发pipeline的定义;构建计划从代码托管仓库中拉取源码,基于最终输出产物选择构建类型(源代码构建镜像、源代码构建程序包),选择内置编译工具或项目内编译工具完成编译,可配置构建触发方式(手动触发、代码合并触发、定时检查),最后配置编译产物,编译产物为镜像时,可选择自定义镜像和基于基础镜像创建;
62.api测试服务主要测试系统对外部提供的接口,验证其正确性和稳定性,为高复杂性的平台带来高效的缺陷监测和质量监督能力;可基于此服务实现对开放接口的测试;
63.代码检查能够在代码构建过程中帮助开发人员快速、有效的定位代码缺陷并及时纠正这些问题,高效检测软件缺陷和安全隐患,可基于提供的规则模板或自定义规则实现代码扫描;
64.最后,通过云服务流水线服务,实现从构建-》代码扫描-》api测试-》人工测试-》人
工审核-》脚本执行-》打镜像标签/部署应用的自定义编排,实现从代码到输出的流程;
65.本发明方法将传统应用云化部署/云化改造成为越来越多企业的选择,将企业的信息管理系统、业务应用系统部署到云计算平台,利用云计算平台的弹性计算、存储、应用和数据治理等服务,可以有效降低企业运维成本,提高安全防护能力,也满足企业快速灵活部署应用的需求。
66.实施例二:
67.在实施例一的基础上,所述s4基于云服务器部署应用,根据需求准备基础资源部署,实现滚动升级;
68.基于ecs云服务器部署:
69.以程序包的方式在ecs上进行部署;在流水线编排中,以构建-》代码扫描-》api测试-》人工测试-》人工审核-》脚本执行的流程实施部署,在脚本执行步骤中,通过编写shell脚本的方式完成指定部署路径、设定启动参数等动作,并启动服务,实现从代码到ecs程序包部署的全流程自动执行。
70.实施例三:
71.在实施例一的基础上,所述s4基于容器引擎部署应用,根据需求准备基础资源的部署,实现滚动升级;
72.容器引擎采用高可用的企业级架构设计对开源kubernetes和docker进行加固,以应用为中心,面向容器化的应用(container-based application,特别是云原生应用)提供大规模容器集群、应用及服务的高效全生命周期管理服务,包括自动化部署、弹性资源调度、多策略发布、智能伸缩等功能;
73.基于容器引擎部署,在创建构建计划时,构建类型选择源代码构建镜像(或在基于ecs部署的基础上,选择从程序包构建镜像),构建输出的镜像会推到私有镜像仓库中,在容器引擎服务中选择创建应用及应用实例(镜像来源私有镜像仓库),待应用实例状态为“运行中”时,即完成应用的容器引擎部署。
74.实施例四:
75.一种基于devops的应用云上部署系统,所述的系统具体包括适配改造模块、资源编排模块、云上开发模块和资源部署模块:
76.适配改造模块:代码上云适配改造;
77.资源编排模块:利用资源编排准备云基础资源;
78.云上开发模块:通过devops云服务实现云商开发运维协同;
79.资源部署模块:根据需求准备基础资源的部署,实现滚动升级;
80.进一步的,所述资源编排模块具体包括关系定义模块和管理部署模块:
81.关系定义模块:可视化编辑器模板中定义所需的云计算资源间依赖关系;
82.管理部署模块:通过定义模板对一组云资源进行统一管理,并提供应用的自动化部署功能;
83.进一步的,所述云上开发模块具体包括代码托管模块、构件管理模块、接口测试模块、代码扫描模块和应用编排模块:
84.代码托管模块:将代码提交至代码仓库完成代码托管;
85.构件管理模块:通过构建管理描述构建镜像所需要的元数据信息;
86.接口测试模块:利用api测试服务对外部提供的接口进行测试;
87.代码扫描模块:对提供的规则信息进行代码扫描;
88.应用编排模块:对云服务流水线服务部署的应用进行自定义编排,并输出流程;
89.进一步的,所述资源部署模块基于云服务器部署应用,根据需求准备基础资源部署,实现滚动升级;
90.再进一步的,所述资源部署模块基于容器引擎部署应用,根据需求准备基础资源的部署,实现滚动升级。
91.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献