CN117931159A - 一种基于云原生安全的低代码平台搭建系统 - Google Patents
一种基于云原生安全的低代码平台搭建系统 Download PDFInfo
- Publication number
- CN117931159A CN117931159A CN202410330577.2A CN202410330577A CN117931159A CN 117931159 A CN117931159 A CN 117931159A CN 202410330577 A CN202410330577 A CN 202410330577A CN 117931159 A CN117931159 A CN 117931159A
- Authority
- CN
- China
- Prior art keywords
- code
- platform
- service
- software
- deployment
- 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
- 238000000034 method Methods 0.000 claims abstract description 64
- 230000006870 function Effects 0.000 claims abstract description 59
- 230000008569 process Effects 0.000 claims abstract description 34
- 238000012544 monitoring process Methods 0.000 claims abstract description 13
- 238000012360 testing method Methods 0.000 claims description 25
- 238000004519 manufacturing process Methods 0.000 claims description 24
- 238000004806 packaging method and process Methods 0.000 claims description 18
- 238000011161 development Methods 0.000 claims description 17
- 238000012827 research and development Methods 0.000 claims description 12
- 230000001419 dependent effect Effects 0.000 claims description 11
- 230000015654 memory Effects 0.000 claims description 5
- 238000012423 maintenance Methods 0.000 claims description 4
- 238000010276 construction Methods 0.000 abstract description 8
- 206010033799 Paralysis Diseases 0.000 abstract description 3
- 238000011282 treatment Methods 0.000 abstract description 3
- 238000012856 packing Methods 0.000 description 10
- 238000007689 inspection Methods 0.000 description 8
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 6
- 238000009434 installation Methods 0.000 description 6
- 238000006467 substitution reaction Methods 0.000 description 6
- 238000012937 correction Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 241000380131 Ammophila arenaria Species 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 239000011148 porous material Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000035515 penetration Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本发明提供一种基于云原生安全的低代码平台搭建系统,包括底层资源申请及基础软件部署模块、平台部署及初始化模块、应用工程生成及初始化模块、微服务模块和功能代码模块;所述基于云原生安全的低代码平台搭建方法包括以下步骤:S1:在公有云平台上进行层级部署,生成代码环境;S2:工程师编写代码;S3:CI/CD平台编译打包代码到k8s平台;S4:监控业务代码在k8s平台上的运行状态;获取业务代码的日志信息;本发明提出的方法在环境搭建、代码自动生成、CI/CD过程中,增加了云原生安全的功能和处理,解决传统低代码平台在安全方面能力不足的问题,避免了存在安全漏洞,安全漏洞导致软件系统被攻击,造成了数据泄漏,导致软件系统的瘫痪的情况。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于云原生安全的低代码平台搭建系统。
背景技术
随着信息化时代的到来,企业不论大小,都会有数字化转型的需求,越来越多的企业采用云计算作为企业信息化系统的基础;
云计算是信息技术发展和服务模式创新的集中体现,是信息化发展的重要变革和必然趋势;随着“新基建”加速布局、企业数字化转型的逐步深入,如何深化用云进一步提升云计算使用效能成为现阶段云计算发展的重点;云原生以其高效稳定、快速响应的特点极大地释放了云计算效能,成为企业数字业务应用创新的原动力,有效推动了国民经济的高质量发展;
然而,传统的低代码平台存在以下弊端:
1、传统的低代码平台重点在于自动生成,存在安全漏洞,安全漏洞导致软件系统被攻击,不但造成了数据泄漏,还会导致软件系统的瘫痪;
2、传统低代码平台在软件研发生命周期支持不足,功能只适用于某些行业或是业务场景。
发明内容
本发明的目的是为了解决现有技术中存在的缺点,而提出的一种基于云原生安全的低代码平台搭建系统。
为实现上述目的,本发明采用了如下技术方案:
一种基于云原生安全的低代码平台搭建系统,包括底层资源申请及基础软件部署模块、平台部署及初始化模块、应用工程生成及初始化模块、微服务模块和功能代码模块;
所述底层资源申请及基础软件部署模块用于跨公有云编译打包类软件、安全相关软件、数据库软件、运维应用软件等底层基础软件;
所述平台部署及初始化模块用于部署CI/CD平台、监控平台、k8s平台、日志平台、服务网格管理平台;并对k8s平台、服务网格管理平台进行初始化;
所述应用工程生成及初始化模块用于生成应用的工程目录、初始化CI/CD项目等;
所述微服务模块用于生成模块目录、工程文件、工具代码等;
所述功能代码模块用于生成功能级代码。
具体地,基于云原生安全的低代码平台搭建方法包括如下步骤:
S1:在公有云平台上进行层级部署,生成代码环境;
所述代码环境包括CI/CD平台、k8s平台、日志平台等;
用户根据实际需求选择相应的公有云平台,并在选择的公有云平台上申请账号,得到相应账号id和账号密钥key;
所述公有云平台包括谷歌云平台、IBM云、微软Azure等;
申请账号完成之后,在所述公有云服务器上进行层级部署,所述层级包括底层基础软件层、平台层、应用层、模块文件层、功能代码层,具体的层级部署方法如下:
S11:部署底层基础软件层;
用户将具体应用规模发送到底层资源申请及基础软件部署模块,底层资源申请及基础软件部署模块动态生成Terraform声明文件,根据用户指定的公有云平台厂商加载与公有云平台交互的Terraform Provider插件,实现Terraform声明文件的初始化;
所述具体应用规模包括微服务数、使用的cpu内存数量、复本数、使用中间件等;
底层资源申请及基础软件部署模块根据Terraform声明文件的资源需求,申请云服务器、k8s平台、镜像仓库、Istio平台、数据库、消息队列服务等,并进行相关账户权限创建及配置;
通过Ansible工具在已经申请的云服务器上,按照规划部署并配置底层用的软件,如在CI/CD平台部署的主机上安装git、jdk、jenkins、docker、maven、kubectrl、helm等编译打包的软件、工具;在其他主机上部署Nexus工具等。
S12:部署平台层;
平台部署及初始化模块通过Ansible工具在jenkins软件上安装插件并创建角色、权限和凭证;所述凭证是指访问GitHub代码仓库和镜像仓库的账户信息和密码;
平台部署及初始化模块将与业务无关的共通代码打包成jar包,并推送到Maven私服Nexus中供微服务模块调用;
所述Maven私服为管理Maven构建工具所需软件包的存储库;
通过docker命令将扫描检查合格的基础镜像上传到镜像仓库中,对生产环境和非生产环境进行隔离,并创建相关的k8s账户和权限信息;在k8s上部署Fluentd、Istio、Prometheus和Grafana等软件进行监控收集和查看;将操作凭证信息以kubeconf文件的方式保存到Jenkins软件运行的云主机上。
S13:部署应用层;
应用工程生成及初始化模块在GitHub代码仓库上创建私密代码仓库,通过Ansible工具触发Jenkins软件的脚本文件,创建部署对应的CI/CD项目;Jenkins软件访问GitHub代码仓库、镜像仓库用的凭证通过Ansible工具传输到Jenkins软件对应目录下,在镜像仓库上创建保存对应的仓库项目;
应用工程生成及初始化模块通过shell命令执行kubectrl命令在k8s上创建Namespace,根据镜像仓库的访问账户信息和密码信息,创建从镜像仓库拉取镜像用的凭证;
S14:部署模块文件层;
微服务模块根据用户设定创建微服务工程的模块目录、代码包结构,其中包括被其它服务调用类型和不需要被调用的类型的微服务结构,并生成统一化的目录;
根据用户选择的模块功能,动态生成模块的pom文件;
其中,共通的Jar包中包含模块使用的通用工具类代码;
S15:部署功能代码层;
功能代码模块根据用户实际选择的数据库中的数据表,生成对应的Java代码,以及Restful风格的Controller和Feign接口代码,根据用户实际需求,生成功能级代码。
S2:工程师编写代码;
工程师根据实际的业务需求在步骤S1生成的代码环境中编写业务代码。
S3: CI/CD平台编译打包代码到k8s平台;
应用CI/CD平台将步骤S2中工程师便编写的业务代码以及步骤S15中生成的功能级代码编译打包到k8s平台并运行;
进一步地, CI/CD平台对业务代码以及功能级代码的编译具体包括研发阶段、测试阶段、预发布阶段、生产阶段四个周期的编译,具体的编译过程如下:
S31:研发阶段 CI/CD平台对业务代以及功能级代码的编译过程如下:
S311:从GitHub代码仓库上拉取代码,所述代码包括业务代码和步骤S15中生成的功能级代码;
从GitHub代码仓库的dev分支拉取代码,dev分支的内容是Merge了要发布的特性分支Feature的最新内容;PipeLine工具使用创建CI/CD平台时定义好的访问GitHub代码仓库的凭证来取得dev分支的最新代码;
所述特性分支Feature是以功能点为单位的部分代码,通过将特性分支的功能Merge到dev分支,使dev分支中包含本次发布的全部业务功能;
所述Merge为同步或新创建;
所述dev分支为GitHub代码仓库的一个分支,采用dev分支管理项目代码;
S312:对步骤S311拉取的代码进行安全性检查;
调用已经安装的SonarQube软件进行安全性检查;
本发明只是调用SonarQube软件进行安全性检查,并未对SonarQube软件的检查方式作创新,对于SonarQube软件安全性检查的过程和原理在此不做累述;
如果SonarQube软件检查安全性不通过,终止CI/CD操作,并将检查结果报告给CI/CD平台的使用者,由使用者负责修正之后再重新开始CI/CD过程;
如果SonarQube软件检查安全性通过,进行步骤S313;
S313:对已经拉取的代码进行打包,得到Jar包;
所述Jar包括依赖的第三方Jar包;
使用Maven命令,对已经拉取的代码进行打包操作;
打包过程为根据模块间的依赖关系,先将被依赖的模块打成Jar包后,再打包用户本次要操作的微服务模块的过程;打包后的Jar包是能够直接运行的Springboot框架的Jar包;
S314:使用dependency-check组件对Jar包中依赖的第三方Jar包进行安全检查;
所述第三方Jar包为开源提供的Jar包;
如果dependency-check组件检查安全性不通过,终止CI/CD操作,并将检查结果报告给CI/CD平台的使用者,由使用者负责修正之后再重新开始CI/CD过程;
如果dependency-check组件检查安全性通过,进行步骤S315;
S315:创建微服务镜像;
使用微服务的Jar包和已经保存在镜像仓库中的基础镜像,创建微服务的镜像;创建镜像所使用的Dockerfile是统一生成的,微服务镜像通过只安装微服务运行所必要的软件(最小化安装)、暴露最少量的端口、使用权限最小的用户的方式来保证镜像的安全和减少镜像被乱用的风险:
所述Docker是虚拟化镜像工具,以Dockerfile中定义的命令作为镜像打包的依据;
本发明只是调用dependency-check组件进行安全性检查,并未对dependency-check组件的检查方式作创新,对于dependency-check组件安全性检查的过程和原理在此不做累述;
S316:使用trivy软件对微服务镜像进行安全检查;
所述trivy软件是对Docker镜像进行安全性检测;
本发明只是调用trivy软件进行安全性检查,并未对trivy软件的检查方式作创新,对于trivy软件安全性检查的过程和原理在此不做累述;
如果trivy软件检查安全性不通过,终止CI/CD操作,并将检查结果报告给CI/CD平台的使用者,由使用者负责修正之后再重新开始CI/CD过程;
如果trivy软件检查安全性通过,进行步骤S317;
S317:对GitHub代码仓库上的当前代码打Tag;
使用GIT命令对GitHub代码仓库上的当前代码打Tag;
S318:将步骤S315获得的微服务镜像推送到镜像仓库;
使用docker命令将步骤S315获得的微服务镜像推送到镜像仓库,供部署时k8s从镜像仓库拉取镜像;
S319:动态生成k8s用的编排文件;
所述编排文件包括Configmap、 Deployment、Service;
使用shell命令将模版中namespace和镜像名替换为当前目标的namespace和镜像名;
所述模版为步骤S1中部署CI/CD平台时人为预制的模版;
S3110:将编排文件中的内容部署到研发环境;
通过非生产环境的kubeconfig文件,使用kubectl命令将编排文件中的内容部署到研发环境;
所述kubeconfig文件为用来操作k8s操作的配置文件;
S3111:生成本次的部署清单文件;
使用python脚本生成本次的部署清单文件,所述部署清单文件包括部署时间、部署环境、操作者、应用名、微服务模块列表、镜像名列表、GitHub代码仓库上的Tag、k8s的编排文件;
S32:测试阶段 CI/CD平台对业务代以及功能级代码的编译过程如下:
S321:从GitHub代码仓库上拉取代码,所述代码包括业务代码和步骤S15中生成的功能级代码;
从GitHub的test分支拉取代码, 所述test分支的内容是Merge了dev分支中的一些Tag的内容;
S322:对已经拉取的代码进行打包,得到Jar包;
所述Jar包括依赖的第三方Jar包;
使用Maven命令,对已经拉取的代码进行打包操作;
S323:创建微服务镜像;
使用微服务的Jar包和已经保存在镜像仓库中的基础镜像,创建微服务的镜像;创建镜像所使用的Dockerfile是统一生成的,微服务镜像通过只安装微服务运行所必要的软件(最小化安装)、暴露最少量的端口、使用权限最小的用户的方式来保证镜像的安全和减少镜像被乱用的风险:
所述Docker是虚拟化镜像工具,以Dockerfile中定义的命令作为镜像打包的依据;
进一步地,本阶段镜像名的Tag命名规则与研发阶段的镜像命名规则不同;
S324:对GitHub代码仓库上的当前代码打Tag;
使用GIT命令对GitHub代码仓库上的当前代码打Tag;
S325:将步骤S323获得的微服务镜像推送到镜像仓库;
使用docker命令将步骤S323获得的微服务镜像推送到镜像仓库,供部署时k8s从镜像仓库拉取镜像;
S326:动态生成k8s、Istio平台的编排文件;
所述编排文件包括ServiceAccount、Deployment、Service、 ConfigMap、VirtualService、DestinationRule、 PeerAuthentiation、 AuthorizationPolicy等;
使用shell命令将模版中namespace和镜像名替换为当前目标的命名空间namespace和镜像名;
所述模版为步骤S1中部署CI/CD平台时人为预制的模版;
进一步地,在Deployment中安装Jcoco组件;所述组件Jcoco为测试覆盖密度的组件;
测试完成后,通过命令取得测试覆盖的dump文件,确认测试的覆盖密度;
S327:将编排文件中的内容部署到测试环境;
通过非生产环境的kubeconfig文件,使用kubectl命令将编排文件中的内容部署到研发环境;
所述kubeconfig文件为用来操作k8s操作的配置文件;
S328:生成本次的部署清单文件;
使用python脚本生成本次的部署清单文件,所述部署清单文件包括部署时间、部署环境、操作者、应用名、微服务模块列表、镜像名列表、GitHub代码仓库上的Tag、k8s的编排文件;
S33:预发布阶段 CI/CD平台对业务代以及功能级代码的编译过程如下:
S331:从GitHub代码仓库上拉取代码,所述代码包括业务代码和步骤S15中生成的功能级代码;
从GitHub代码仓库的release分支拉取代码, release分支的内容是Merge了经过测试的代码;
S332:对已经拉取的代码进行打包,得到Jar包;
所述Jar包括依赖的第三方Jar包;
使用Maven命令,对已经拉取的代码进行打包操作;
S333:创建微服务镜像;
使用微服务的Jar包和已经保存在镜像仓库中的基础镜像,创建微服务的镜像;创建镜像所使用的Dockerfile是统一生成的,微服务镜像通过只安装微服务运行所必要的软件(最小化安装)、暴露最少量的端口、使用权限最小的用户的方式来保证镜像的安全和减少镜像被乱用的风险:
所述Docker是虚拟化镜像工具,以Dockerfile中定义的命令作为镜像打包的依据;
进一步地,本阶段镜像名的Tag命名规则与研发阶段、测试阶段的镜像命名规则不同;
S334:对GitHub代码仓库上的当前代码打Tag;
使用GIT命令对GitHub代码仓库上的当前代码打Tag;
S335:将步骤S333获得的微服务镜像推送到镜像仓库;
使用docker命令将步骤S333获得的微服务镜像推送到镜像仓库,供部署时k8s从镜像仓库拉取镜像;
S336:动态生成k8s、Istio平台的编排文件;
S337:将编排文件中的内容部署到研发环境;
通过非生产环境的kubeconfig文件,使用kubectl命令将编排文件中的内容部署到预发布环境;
所述kubeconfig文件为用来操作k8s操作的配置文件;
S338:生成本次的部署清单文件;
使用python脚本生成本次的部署清单文件,所述部署清单文件包括部署时间、部署环境、操作者、应用名、微服务模块列表、镜像名列表、GitHub代码仓库上的Tag、k8s的编排文件;
S34:生产阶段 CI/CD平台对业务代以及功能级代码的编译过程如下:
S341:从GitHub代码仓库上拉取代码,所述代码包括业务代码和步骤S15中生成的功能级代码;
从GitHub代码仓库的release分支拉取代码, release分支的内容是Merge了经过测试的代码;
S342:进行镜像拉取;
根据预发布清单文件中的镜像Tag,将已经在预发布环境验证过的镜像拉取到CI/CD的云主机上;
S343:对镜像重命名后推送到镜像仓库中;
根据具体的镜像Tag的命名规则,对微服务镜像重命名后,推送回镜像仓库中;
S344:动态生成k8s、Istio的编排文件;
使用重命名之后的镜像名,动态生成k8s、Istio的编排文件;
S345:将编排文件中的内容部署到研发环境;
通过生产环境的kubeconfig文件,使用kubectl命令将编排文件中的内容部署到生产环境;
所述kubeconfig文件为用来操作k8s操作的配置文件;
S346:生成本次的部署清单文件;
使用python脚本生成本次的部署清单文件,所述部署清单文件包括部署时间、部署环境、操作者、应用名、微服务模块列表、镜像名列表、GitHub上的Tag、k8s的编排文件。
S4:监控业务代码在k8s平台上的运行状态;获取业务代码的日志信息;
包括如下子步骤:
S41:监控平台监控业务代码在k8s平台上的运行状态;
具体包括如下子步骤:
S411:标记当前pod需要收集的信息;
通过生成的k8s编排文件,标记当前pod需要收集信息以及信息收集的URL;
所述pod为Deployment文件中运行的镜像单位;
S412:定时从已经标记的pod中拉取JVM指标;
Prometheus软件采取定时拉取指标的方式,根据编排文件中的URL,取得微服务的JVM信息、网络请求信息、容器的CPU内存等维度的指标信息,保存到数据库中;
所述数据库为Prometheus软件的自身存储;
所述Prometheus软件为步骤S1中部署的底层基础软件;
S413:查看微服务实例的运行指标;
在Grafana软件中以图表方式展示Prometheus拉取的指标,工程师根据实际需求选择查看任何的微服务实例的运行指标信息;
所述Grafana软件为步骤S1中部署的底层基础软件;
S42:日志平台获取业务代码的日志信息;
具体包括如下子步骤:
S421:将日志以统一格式输出到控制台上;
通过ConfigMap编排文件中logback的配置文件,将日志以统一格式输出到控制台上;
所述ConfigMap软件为步骤S319中动态生成的编排文件;
S422:对日志进行格式化;
根据Fluentd软件的配置,采集日志,并对日志进行格式化;
所述Fluentd软件为步骤S1中部署的底层基础软件;
S423:将日志内容存储到ElasticSearch软件;
将格式化的日志内容保存到ElasticSearch软件指定的索引Index中;
所述ElasticSearch软件为步骤S1中部署的底层基础软件;
S424:查看日志;
使用Kibana软件从ElasticSearch软件中查找指定应用模块的日志,进行日志查看;在Kibana软件的画面上,用户选择要查看具体的微服务日志,并且可以根据日志级别、日志的来源、关键词进行检索。
与现有技术相比,本发明的有益效果为:
本发明提出的方法在环境搭建、代码自动生成、CI/CD过程中,增加了云原生安全的功能和处理,解决传统低代码平台在安全方面能力不足的问题,避免了存在安全漏洞,安全漏洞导致软件系统被攻击,造成了数据泄漏,导致软件系统的瘫痪的情况。
同时,本发明生成的低代码平台中包括了完整的CI/CD能力,不但可以用于中小企业的功能快速上线,也可以用于大企业的软件研发过程;解决了传统低代码平台在软件研发生命周期支持不足的问题。
附图说明
图1为本发明一种基于云原生安全的低代码平台搭建系统中具体搭建方法的步骤流程图;
图2为本发明一种基于云原生安全的低代码平台搭建系统中具体部署的层级图;
图3为本发明一种基于云原生安全的低代码平台搭建系统中软件生命周期内对于云原生安全实现的原理图。
具体实施方式
为使对本发明的目的、构造、特征、及其功能有进一步的了解,兹配合实施例详细说明如下。
如图1、2、3所示,一种基于云原生安全的低代码平台搭建系统,包括底层资源申请及基础软件部署模块、平台部署及初始化模块、应用工程生成及初始化模块、微服务模块和功能代码模块;
所述底层资源申请及基础软件部署模块用于跨公有云编译打包类软件、安全相关软件、数据库软件、运维应用软件等底层基础软件;
所述平台部署及初始化模块用于部署CI/CD平台、监控平台、k8s平台、日志平台、服务网格管理平台;并对k8s平台、服务网格管理平台进行初始化;
所述应用工程生成及初始化模块用于生成应用的工程目录、初始化CI/CD项目等;
所述微服务模块用于生成模块目录、工程文件、工具代码等;
所述功能代码模块用于生成功能级代码。
具体地,基于云原生安全的低代码平台搭建方法包括如下步骤:
S1:在公有云平台上进行层级部署,生成代码环境;
所述代码环境包括CI/CD平台、k8s平台、日志平台等;
用户根据实际需求选择相应的公有云平台,并在选择的公有云平台上申请账号,得到相应账号id和账号密钥key;
所述公有云平台包括谷歌云平台、IBM云、微软Azure等;
申请账号完成之后,在所述公有云服务器上进行层级部署,所述层级包括底层基础软件层、平台层、应用层、模块文件层、功能代码层,具体的层级部署方法如下:
S11:部署底层基础软件层;
用户将具体应用规模发送到底层资源申请及基础软件部署模块,底层资源申请及基础软件部署模块动态生成Terraform声明文件,根据用户指定的公有云平台厂商加载与公有云平台交互的Terraform Provider插件,实现Terraform声明文件的初始化;
所述具体应用规模包括微服务数、使用的cpu内存数量、复本数、使用中间件等;
底层资源申请及基础软件部署模块根据Terraform声明文件的资源需求,申请云服务器、k8s平台、镜像仓库、Istio平台、数据库、消息队列服务等,并进行相关账户权限创建及配置;
通过Ansible工具在已经申请的云服务器上,按照规划部署并配置底层用的软件,如在CI/CD平台部署的主机上安装git、jdk、jenkins、docker、maven、kubectrl、helm等编译打包的软件、工具;在其他主机上部署Nexus工具等。
S12:部署平台层;
平台部署及初始化模块通过Ansible工具在jenkins软件上安装插件并创建角色、权限和凭证;所述凭证是指访问GitHub代码仓库和镜像仓库的账户信息和密码;
平台部署及初始化模块将与业务无关的共通代码打包成jar包,并推送到Maven私服Nexus中供微服务模块调用;
所述Maven私服为管理Maven构建工具所需软件包的存储库;
通过docker命令将扫描检查合格的基础镜像上传到镜像仓库中,对生产环境和非生产环境进行隔离,并创建相关的k8s账户和权限信息;在k8s上部署Fluentd、Istio、Prometheus和Grafana等软件进行监控收集和查看;将操作凭证信息以kubeconf文件的方式保存到Jenkins软件运行的云主机上。
S13:部署应用层;
应用工程生成及初始化模块在GitHub代码仓库上创建私密代码仓库,通过Ansible工具触发Jenkins软件的脚本文件,创建部署对应的CI/CD项目;Jenkins软件访问GitHub代码仓库、镜像仓库用的凭证通过Ansible工具传输到Jenkins软件对应目录下,在镜像仓库上创建保存对应的仓库项目;
应用工程生成及初始化模块通过shell命令执行kubectrl命令在k8s上创建Namespace,根据镜像仓库的访问账户信息和密码信息,创建从镜像仓库拉取镜像用的凭证;
S14:部署模块文件层;
微服务模块根据用户设定创建微服务工程的模块目录、代码包结构,其中包括被其它服务调用类型和不需要被调用的类型的微服务结构,并生成统一化的目录;
根据用户选择的模块功能,动态生成模块的pom文件;
其中,共通的Jar包中包含模块使用的通用工具类代码;
通过对这些编排文件的自动生成,可以减少研发人员的学习成本,使他们专注于业务功能的实现上;同过编排文件的自动生成,也可以减少人为编写时的不正确使用;同时,自动生成的编排文件,风格统一,如果发现问题的时候,可以展开进行修复,减少问题调研的成本。
S15:部署功能代码层;
功能代码模块根据用户实际选择的数据库中的数据表,生成对应的Java代码,以及Restful风格的Controller和Feign接口代码,根据用户实际需求,生成功能级代码。
本发明能在当下主流的云平台(阿里云、华为云、亚马逊云等)进行低代码平台的一键部署,解决了传统低代码平台与云厂商深度绑定的问题。
S2:工程师编写代码;
工程师根据实际的业务需求在步骤S1生成的代码环境中编写业务代码。
S3: CI/CD平台编译打包代码到k8s平台;
应用CI/CD平台将步骤S2中工程师便编写的业务代码以及步骤S15中生成的功能级代码编译打包到k8s平台并运行;
进一步地, CI/CD平台对业务代码以及功能级代码的编译具体包括研发阶段、测试阶段、预发布阶段、生产阶段四个周期的编译,具体的编译过程如下:
S31:研发阶段 CI/CD平台对业务代以及功能级代码的编译过程如下:
S311:从GitHub代码仓库上拉取代码,所述代码包括业务代码和步骤S15中生成的功能级代码;
从GitHub代码仓库的dev分支拉取代码,dev分支的内容是Merge了要发布的特性分支Feature的最新内容;PipeLine工具使用创建CI/CD平台时定义好的访问GitHub代码仓库的凭证来取得dev分支的最新代码;
所述特性分支Feature是以功能点为单位的部分代码,通过将特性分支的功能Merge到dev分支,使dev分支中包含本次发布的全部业务功能;
所述Merge为同步或新创建;
所述dev分支为GitHub代码仓库的一个分支,采用dev分支管理项目代码;
S312:对步骤S311拉取的代码进行安全性检查;
调用已经安装的SonarQube软件进行安全性检查;
本发明只是调用SonarQube软件进行安全性检查,并未对SonarQube软件的检查方式作创新,对于SonarQube软件安全性检查的过程和原理在此不做累述;
如果SonarQube软件检查安全性不通过,终止CI/CD操作,并将检查结果报告给CI/CD平台的使用者,由使用者负责修正之后再重新开始CI/CD过程;
如果SonarQube软件检查安全性通过,进行步骤S313;
S313:对已经拉取的代码进行打包,得到Jar包;
所述Jar包括依赖的第三方Jar包;
使用Maven命令,对已经拉取的代码进行打包操作;
打包过程为根据模块间的依赖关系,先将被依赖的模块打成Jar包后,再打包用户本次要操作的微服务模块的过程;打包后的Jar包是能够直接运行的Springboot框架的Jar包;
S314:使用dependency-check组件对Jar包中依赖的第三方Jar包进行安全检查;
所述第三方Jar包为开源提供的Jar包;
如果dependency-check组件检查安全性不通过,终止CI/CD操作,并将检查结果报告给CI/CD平台的使用者,由使用者负责修正之后再重新开始CI/CD过程;
如果dependency-check组件检查安全性通过,进行步骤S315;
S315:创建微服务镜像;
使用微服务的Jar包和已经保存在镜像仓库中的基础镜像,创建微服务的镜像;创建镜像所使用的Dockerfile是统一生成的,微服务镜像通过只安装微服务运行所必要的软件(最小化安装)、暴露最少量的端口、使用权限最小的用户的方式来保证镜像的安全和减少镜像被乱用的风险:
所述Docker是虚拟化镜像工具,以Dockerfile中定义的命令作为镜像打包的依据;
本发明只是调用dependency-check组件进行安全性检查,并未对dependency-check组件的检查方式作创新,对于dependency-check组件安全性检查的过程和原理在此不做累述;
S316:使用trivy软件对微服务镜像进行安全检查;
所述trivy软件是对Docker镜像进行安全性检测;
本发明只是调用trivy软件进行安全性检查,并未对trivy软件的检查方式作创新,对于trivy软件安全性检查的过程和原理在此不做累述;
如果trivy软件检查安全性不通过,终止CI/CD操作,并将检查结果报告给CI/CD平台的使用者,由使用者负责修正之后再重新开始CI/CD过程;
如果trivy软件检查安全性通过,进行步骤S317;
S317:对GitHub代码仓库上的当前代码打Tag;
使用GIT命令对GitHub代码仓库上的当前代码打Tag;
S318:将步骤S315获得的微服务镜像推送到镜像仓库;
使用docker命令将步骤S315获得的微服务镜像推送到镜像仓库,供部署时k8s从镜像仓库拉取镜像;
S319:动态生成k8s用的编排文件;
所述编排文件包括Configmap、 Deployment、Service;
使用shell命令将模版中namespace和镜像名替换为当前目标的namespace和镜像名;
所述模版为步骤S1中部署CI/CD平台时人为预制的模版;
S3110:将编排文件中的内容部署到研发环境;
通过非生产环境的kubeconfig文件,使用kubectl命令将编排文件中的内容部署到研发环境;
所述kubeconfig文件为用来操作k8s操作的配置文件;
S3111:生成本次的部署清单文件;
使用python脚本生成本次的部署清单文件,所述部署清单文件包括部署时间、部署环境、操作者、应用名、微服务模块列表、镜像名列表、GitHub代码仓库上的Tag、k8s的编排文件;
S32:测试阶段 CI/CD平台对业务代以及功能级代码的编译过程如下:
S321:从GitHub代码仓库上拉取代码,所述代码包括业务代码和步骤S15中生成的功能级代码;
从GitHub的test分支拉取代码, 所述test分支的内容是Merge了dev分支中的一些Tag的内容;
S322:对已经拉取的代码进行打包,得到Jar包;
所述Jar包括依赖的第三方Jar包;
使用Maven命令,对已经拉取的代码进行打包操作;
S323:创建微服务镜像;
使用微服务的Jar包和已经保存在镜像仓库中的基础镜像,创建微服务的镜像;创建镜像所使用的Dockerfile是统一生成的,微服务镜像通过只安装微服务运行所必要的软件(最小化安装)、暴露最少量的端口、使用权限最小的用户的方式来保证镜像的安全和减少镜像被乱用的风险:
所述Docker是虚拟化镜像工具,以Dockerfile中定义的命令作为镜像打包的依据;
进一步地,本阶段镜像名的Tag命名规则与研发阶段的镜像命名规则不同;
S324:对GitHub代码仓库上的当前代码打Tag;
使用GIT命令对GitHub代码仓库上的当前代码打Tag;
S325:将步骤S323获得的微服务镜像推送到镜像仓库;
使用docker命令将步骤S323获得的微服务镜像推送到镜像仓库,供部署时k8s从镜像仓库拉取镜像;
S326:动态生成k8s、Istio平台的编排文件;
所述编排文件包括ServiceAccount、Deployment、Service、 ConfigMap、VirtualService、DestinationRule、 PeerAuthentiation、 AuthorizationPolicy等;
使用shell命令将模版中namespace和镜像名替换为当前目标的命名空间namespace和镜像名;
所述模版为步骤S1中部署CI/CD平台时人为预制的模版;
进一步地,在Deployment中安装Jcoco组件;所述组件Jcoco为测试覆盖密度的组件;
测试完成后,通过命令取得测试覆盖的dump文件,确认测试的覆盖密度;
S327:将编排文件中的内容部署到测试环境;
通过非生产环境的kubeconfig文件,使用kubectl命令将编排文件中的内容部署到测试环境;
所述kubeconfig文件为用来操作k8s操作的配置文件;
S328:生成本次的部署清单文件;
使用python脚本生成本次的部署清单文件,所述部署清单文件包括部署时间、部署环境、操作者、应用名、微服务模块列表、镜像名列表、GitHub代码仓库上的Tag、k8s的编排文件;
S33:预发布阶段 CI/CD平台对业务代以及功能级代码的编译过程如下:
S331:从GitHub代码仓库上拉取代码,所述代码包括业务代码和步骤S15中生成的功能级代码;
从GitHub代码仓库的release分支拉取代码, release分支的内容是Merge了经过测试的代码;
S332:对已经拉取的代码进行打包,得到Jar包;
所述Jar包括依赖的第三方Jar包;
使用Maven命令,对已经拉取的代码进行打包操作;
S333:创建微服务镜像;
使用微服务的Jar包和已经保存在镜像仓库中的基础镜像,创建微服务的镜像;创建镜像所使用的Dockerfile是统一生成的,微服务镜像通过只安装微服务运行所必要的软件(最小化安装)、暴露最少量的端口、使用权限最小的用户的方式来保证镜像的安全和减少镜像被乱用的风险:
所述Docker是虚拟化镜像工具,以Dockerfile中定义的命令作为镜像打包的依据;
进一步地,本阶段镜像名的Tag命名规则与研发阶段、测试阶段的镜像命名规则不同;
S334:对GitHub代码仓库上的当前代码打Tag;
使用GIT命令对GitHub代码仓库上的当前代码打Tag;
S335:将步骤S333获得的微服务镜像推送到镜像仓库;
使用docker命令将步骤S333获得的微服务镜像推送到镜像仓库,供部署时k8s从镜像仓库拉取镜像;
S336:动态生成k8s、Istio平台的编排文件;
S337:将编排文件中的内容部署到预发布环境;
通过非生产环境的kubeconfig文件,使用kubectl命令将编排文件中的内容部署到预发布环境;
所述kubeconfig文件为用来操作k8s操作的配置文件;
S338:生成本次的部署清单文件;
使用python脚本生成本次的部署清单文件,所述部署清单文件包括部署时间、部署环境、操作者、应用名、微服务模块列表、镜像名列表、GitHub代码仓库上的Tag、k8s的编排文件;
S34:生产阶段 CI/CD平台对业务代以及功能级代码的编译过程如下:
S341:从GitHub代码仓库上拉取代码,所述代码包括业务代码和步骤S15中生成的功能级代码;
从GitHub代码仓库的release分支拉取代码, release分支的内容是Merge了经过测试的代码;
S342:进行镜像拉取;
根据预发布清单文件中的镜像Tag,将已经在预发布环境验证过的镜像拉取到CI/CD的云主机上;
S343:对镜像重命名后推送到镜像仓库中;
根据具体的镜像Tag的命名规则,对微服务镜像重命名后,推送回镜像仓库中;
S344:动态生成k8s、Istio的编排文件;
使用重命名之后的镜像名,动态生成k8s、Istio的编排文件;
S345:将编排文件中的内容部署到生产环境;
通过生产环境的kubeconfig文件,使用kubectl命令将编排文件中的内容部署到生产环境;
所述kubeconfig文件为用来操作k8s操作的配置文件;
S346:生成本次的部署清单文件;
使用python脚本生成本次的部署清单文件,所述部署清单文件包括部署时间、部署环境、操作者、应用名、微服务模块列表、镜像名列表、GitHub上的Tag、k8s的编排文件。
S4:监控业务代码在k8s平台上的运行状态;获取业务代码的日志信息;
包括如下子步骤:
S41:监控平台监控业务代码在k8s平台上的运行状态;
具体包括如下子步骤:
S411:标记当前pod需要收集的信息;
通过生成的k8s编排文件,标记当前pod需要收集信息以及信息收集的URL;
所述pod为Deployment文件中运行的镜像单位;
通过k8s编排文件,标记当前pod需要收集信息和信息收集的URL使Prometheus软件的服务发现功能发现这个业务微服务的Pod,并进行指标收集;
S412:定时从已经标记的pod中拉取JVM指标;
Prometheus软件采取定时拉取指标的方式,根据编排文件中的URL,取得微服务的JVM信息、网络请求信息、容器的CPU内存等维度的指标信息,保存到数据库中;
所述数据库为Prometheus软件的自身存储;
所述Prometheus软件为步骤S1中部署的底层基础软件;
S413:查看微服务实例的运行指标;
在Grafana软件中以图表方式展示Prometheus拉取的指标,工程师根据实际需求选择查看任何的微服务实例的运行指标信息;
所述Grafana软件为步骤S1中部署的底层基础软件;
S42:日志平台获取业务代码的日志信息;
具体包括如下子步骤:
S421:将日志以统一格式输出到控制台上;
通过ConfigMap编排文件中logback的配置文件,将日志以统一格式输出到控制台上;
所述ConfigMap软件为步骤S319中自动生成的编排文件;
S422:对日志进行格式化;
根据Fluentd软件的配置,采集日志,并对日志进行格式化;
所述Fluentd软件为步骤S1中部署的底层基础软件;
S423:将日志内容存储到ElasticSearch软件;
将格式化的日志内容保存到ElasticSearch软件指定的索引Index中;
所述ElasticSearch软件为步骤S1中部署的底层基础软件;
S424:查看日志;
使用Kibana软件从ElasticSearch软件中查找指定应用模块的日志,进行日志查看;在Kibana软件的画面上,用户选择要查看具体的微服务日志,并且可以根据日志级别、日志的来源、关键词进行检索。
本发明生成的低代码平台,使用服务网格技术进行微服务治理,解决了传统低代码平台技术栈过时,不可扩展的问题。
本发明自动搭建的低代码平台,能覆盖软件研发全生命周期的所有阶段,满足多数企业在软件系统研发的不同要求;现有的低代码平台只包括对业务功能的实现,但是对多阶段,多环境的测试(开发, 测试, 预发布)支持不足;并且不包括生产环境的各种监控管理能力;最重要的一点是,现有的低代码平台不允许使用者对平台架构进行修改,限制了业务功能的实现;
本发明从低代码平台的搭建,到使用CI/CD工具部署应用,全程自动化操作;既实现了平台能快速部署、快速使用;又保证了平台的一致性。
本发明适用于中小型企业的数字化系统的研发,极大的减少研发运维的人力成本与时间成本。
本发明已由上述相关实施例加以描述,然而上述实施例仅为实施本发明的范例。必需指出的是,已揭露的实施例并未限制本发明的范围。相反地,在不脱离本发明的精神和范围内所作的更动与润饰,均属本发明的专利保护范围。
Claims (7)
1.一种基于云原生安全的低代码平台搭建系统,其特征在于:包括底层资源申请及基础软件部署模块、平台部署及初始化模块、应用工程生成及初始化模块、微服务模块和功能代码模块;
所述底层资源申请及基础软件部署模块用于跨公有云编译打包类软件、安全相关软件、数据库软件、运维应用软件;
所述平台部署及初始化模块用于部署CI/CD平台、监控平台、k8s平台、日志平台、服务网格管理平台;并对k8s平台、服务网格管理平台进行初始化;
所述应用工程生成及初始化模块用于生成应用的工程目录、初始化CI/CD项目;
所述微服务模块用于生成模块目录、工程文件、工具代码;
所述功能代码模块用于生成功能级代码。
2.一种基于云原生安全的低代码平台搭建方法,其特征在于:包括以下步骤:
S1:在公有云平台上进行层级部署,生成代码环境;
用户根据实际需求选择相应的公有云平台,并在选择的公有云平台上申请账号,得到相应账号id和账号密钥key;
申请账号完成之后,在所述公有云服务器上进行层级部署,所述层级包括底层基础软件层、平台层、应用层、模块文件层、功能代码层;
S2:工程师编写代码;
工程师根据实际的业务需求在步骤S1生成的代码环境中编写业务代码;
S3: CI/CD平台编译打包代码到k8s平台;
应用CI/CD平台将步骤S2中工程师便编写的业务代码以及功能代码模块生成的功能级代码编译打包到k8s平台并运行;应用CI/CD平台对业务代码以及功能级代码的编译具体包括研发阶段、测试阶段、预发布阶段、生产阶段四个周期的编译,具体的编译过程包括如下子步骤:
S31:研发阶段 CI/CD平台对业务代以及功能级代码的编译;
S32:测试阶段 CI/CD平台对业务代以及功能级代码的编译;
S33:预发布阶段 CI/CD平台对业务代以及功能级代码的编译;
S34:生产阶段 CI/CD平台对业务代以及功能级代码的编译;
S4:监控业务代码在k8s平台上的运行状态;获取业务代码的日志信息。
3.如权利要求2所述的一种基于云原生安全的低代码平台搭建方法,其特征在于:
步骤S31中,研发阶段 CI/CD平台对业务代以及功能级代码的编译过程如下:
S311:从GitHub代码仓库上拉取代码,所述代码包括业务代码和步骤S15中生成的功能级代码;
S312:对步骤S311拉取的代码进行安全性检查;
S313:对已经拉取的代码进行打包,得到Jar包;
S314:使用dependency-check组件对Jar包中依赖的第三方Jar包进行安全检查;
S315:创建微服务镜像;
S316:使用trivy软件对微服务镜像进行安全检查;
S317:对GitHub代码仓库上的当前代码打Tag;
S318:将步骤S315获得的微服务镜像推送到镜像仓库;
S319:动态生成k8s用的编排文件;
S3110:将编排文件中的内容部署到研发环境;
S3111:生成本次的部署清单文件。
4.如权利要求2所述的一种基于云原生安全的低代码平台搭建方法,其特征在于:
步骤S32中,测试阶段 CI/CD平台对业务代以及功能级代码的编译过程如下:
S321:从GitHub代码仓库上拉取代码,所述代码包括业务代码和步骤S15中生成的功能级代码;
S322:对已经拉取的代码进行打包,得到Jar包;
S323:创建微服务镜像;
S324:对GitHub代码仓库上的当前代码打Tag;
S325:将步骤S323获得的微服务镜像推送到镜像仓库;
S326:动态生成k8s、Istio平台的编排文件;
S327:将编排文件中的内容部署到测试环境;
S328:生成本次的部署清单文件。
5.如权利要求2所述的一种基于云原生安全的低代码平台搭建方法,其特征在于:
步骤S33中,预发布阶段 CI/CD平台对业务代以及功能级代码的编译过程如下:
S331:从GitHub代码仓库上拉取代码,所述代码包括业务代码和步骤S15中生成的功能级代码;
S332:对已经拉取的代码进行打包,得到Jar包;
S333:创建微服务镜像;
S334:对GitHub代码仓库上的当前代码打Tag;
S335:将步骤S333获得的微服务镜像推送到镜像仓库;
S336:动态生成k8s、Istio平台的编排文件;
S337:将编排文件中的内容部署到预发布环境;
S338:生成本次的部署清单文件。
6.如权利要求2所述的一种基于云原生安全的低代码平台搭建方法,其特征在于:
步骤S34中,生产阶段 CI/CD平台对业务代以及功能级代码的编译过程如下:
S341:从GitHub代码仓库上拉取代码,所述代码包括业务代码和步骤S15中生成的功能级代码;
S342:进行镜像拉取;
S343:对镜像重命名后推送到镜像仓库中;
S344:动态生成k8s、Istio的编排文件;
S345:将编排文件中的内容部署到生产环境;
S346:生成本次的部署清单文件。
7.如权利要求2所述的一种基于云原生安全的低代码平台搭建方法,其特征在于:
步骤S4中,包括如下子步骤:
S41:监控平台监控业务代码在k8s平台上的运行状态;
具体包括如下子步骤:
S411:标记当前pod需要收集的信息;
通过生成的k8s编排文件,标记当前pod需要收集信息以及信息收集的URL;
所述pod为Deployment文件中运行的镜像单位;
S412:定时从已经标记的pod中拉取JVM指标;
Prometheus软件采取定时拉取指标的方式,根据编排文件中的URL,取得微服务的JVM信息、网络请求信息、容器的CPU内存的维度的指标信息,保存到数据库中;
所述数据库为Prometheus软件的自身存储;
所述Prometheus软件为步骤S1中部署的底层基础软件;
S413:查看微服务实例的运行指标;
在Grafana软件中以图表方式展示Prometheus拉取的指标,工程师根据实际需求选择查看任何的微服务实例的运行指标信息;
所述Grafana软件为步骤S1中部署的底层基础软件;
S42:日志平台获取业务代码的日志信息;
具体包括如下子步骤:
S421:将日志以统一格式输出到控制台上;
通过ConfigMap文件中logback的配置文件,将日志以统一格式输出到控制台上;
所述ConfigMap软件为S319中自动生成的编排文件中的一种;
S422:对日志进行格式化;
根据Fluentd软件的配置,采集日志,并对日志进行格式化;
所述Fluentd软件为步骤S1中部署的底层基础软件;
S423:将日志内容存储到ElasticSearch软件;
将格式化的日志内容保存到ElasticSearch软件指定的索引Index中;
所述ElasticSearch软件为步骤S1中部署的底层基础软件;
S424:查看日志;
使用Kibana软件从ElasticSearch软件中查找指定应用模块的日志,进行日志查看;在Kibana软件的画面上,用户选择要查看具体的微服务日志,并且可以根据日志级别、日志的来源、关键词进行检索。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410330577.2A CN117931159B (zh) | 2024-03-22 | 2024-03-22 | 一种基于云原生安全的低代码平台搭建系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410330577.2A CN117931159B (zh) | 2024-03-22 | 2024-03-22 | 一种基于云原生安全的低代码平台搭建系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117931159A true CN117931159A (zh) | 2024-04-26 |
CN117931159B CN117931159B (zh) | 2024-06-18 |
Family
ID=90754173
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410330577.2A Active CN117931159B (zh) | 2024-03-22 | 2024-03-22 | 一种基于云原生安全的低代码平台搭建系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117931159B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111736827A (zh) * | 2020-08-25 | 2020-10-02 | 长沙慧码至一信息科技有限公司 | 一种云原生开发组件系统 |
CN111897541A (zh) * | 2020-08-03 | 2020-11-06 | 上海嗨酷强供应链信息技术有限公司 | 一种云环境下自动化部署资源的软件交互平台及方法 |
CN113779477A (zh) * | 2021-09-13 | 2021-12-10 | 科大国创云网科技有限公司 | 一种基于PaaS云平台的流水线发布方法及系统 |
CN114168213A (zh) * | 2021-10-26 | 2022-03-11 | 青岛海尔科技有限公司 | 基于Jenkins的软件发布方法、装置和电子设备 |
US20220405092A1 (en) * | 2021-06-21 | 2022-12-22 | Ciena Corporation | Orchestrating multi-level tools for the deployment of a network product |
CN115658085A (zh) * | 2022-11-11 | 2023-01-31 | 中电云数智科技有限公司 | 一种云原生应用的部署方法 |
CN116860223A (zh) * | 2022-09-06 | 2023-10-10 | 上海电气集团数字科技有限公司 | 一种基于云原生的低代码开发交付方法 |
CN117369860A (zh) * | 2023-09-22 | 2024-01-09 | 启明信息技术股份有限公司 | 一种基于云原生脚本文件的自动发布方法及系统 |
-
2024
- 2024-03-22 CN CN202410330577.2A patent/CN117931159B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111897541A (zh) * | 2020-08-03 | 2020-11-06 | 上海嗨酷强供应链信息技术有限公司 | 一种云环境下自动化部署资源的软件交互平台及方法 |
CN111736827A (zh) * | 2020-08-25 | 2020-10-02 | 长沙慧码至一信息科技有限公司 | 一种云原生开发组件系统 |
US20220405092A1 (en) * | 2021-06-21 | 2022-12-22 | Ciena Corporation | Orchestrating multi-level tools for the deployment of a network product |
CN113779477A (zh) * | 2021-09-13 | 2021-12-10 | 科大国创云网科技有限公司 | 一种基于PaaS云平台的流水线发布方法及系统 |
CN114168213A (zh) * | 2021-10-26 | 2022-03-11 | 青岛海尔科技有限公司 | 基于Jenkins的软件发布方法、装置和电子设备 |
CN116860223A (zh) * | 2022-09-06 | 2023-10-10 | 上海电气集团数字科技有限公司 | 一种基于云原生的低代码开发交付方法 |
CN115658085A (zh) * | 2022-11-11 | 2023-01-31 | 中电云数智科技有限公司 | 一种云原生应用的部署方法 |
CN117369860A (zh) * | 2023-09-22 | 2024-01-09 | 启明信息技术股份有限公司 | 一种基于云原生脚本文件的自动发布方法及系统 |
Non-Patent Citations (1)
Title |
---|
严丽云 等: "运营商业务平台微服务化方案", 电信科学, no. 11, 29 November 2018 (2018-11-29) * |
Also Published As
Publication number | Publication date |
---|---|
CN117931159B (zh) | 2024-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3769223B1 (en) | Unified test automation system | |
US10922067B1 (en) | System and method for installing, updating and uninstalling applications | |
US8327351B2 (en) | Application modification framework | |
US8140905B2 (en) | Incremental problem determination and resolution in cloud environments | |
US7617459B2 (en) | Apparatus, system, and method for automatically generating a web interface for an MFS-based IMS application | |
CN113434158B (zh) | 一种大数据组件的自定义管理方法、装置、设备及介质 | |
US8140578B2 (en) | Multilevel hierarchical associations between entities in a knowledge system | |
US8924930B2 (en) | Virtual machine image lineage | |
US20060020937A1 (en) | System and method for extraction and creation of application meta-information within a software application repository | |
US20230259358A1 (en) | Documentation enforcement during compilation | |
CN115248700A (zh) | 一种产品代码自动化构建移动安装包的方法和系统 | |
US20210141632A1 (en) | Automated software patching for versioned code | |
US9350596B2 (en) | On-demand tethered greedy virtual application appliance | |
CN117931159B (zh) | 一种基于云原生安全的低代码平台搭建系统 | |
CN112035352B (zh) | 一种基于云生命周期管理的快速自动化编译部署的方法 | |
CN115145604A (zh) | 一种容器化的电力营销系统部署方法 | |
CN114115982A (zh) | 代码发布方法、装置、设备及存储介质 | |
Bhattacharjee et al. | Cloudcamp: A model-driven generative approach for automating cloud application deployment and management | |
US7945598B2 (en) | Methodology for the automatic capture of process information in federated knowledge systems | |
CN115048313B (zh) | 自动化测试方法及装置、计算机可读存储介质及电子设备 | |
JP7328922B2 (ja) | 設定装置、設定方法、及びプログラム | |
CN113805878B (zh) | 插件工程化方法、装置、计算机系统和介质 | |
CN117785266A (zh) | 应用程序的自动发布方法、调度服务器及低代码平台 | |
US20230401182A1 (en) | Migrating deployment infrastructure containers across different databases | |
CN117667109A (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 |