CN117008958A - 基于GitOps的OTA云端持续交付方法、系统、设备及存储介质 - Google Patents
基于GitOps的OTA云端持续交付方法、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN117008958A CN117008958A CN202311286164.0A CN202311286164A CN117008958A CN 117008958 A CN117008958 A CN 117008958A CN 202311286164 A CN202311286164 A CN 202311286164A CN 117008958 A CN117008958 A CN 117008958A
- Authority
- CN
- China
- Prior art keywords
- construction
- gitops
- tool
- deploying
- codes
- 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.)
- Pending
Links
- 238000003860 storage Methods 0.000 title claims abstract description 18
- 238000002716 delivery method Methods 0.000 title claims abstract description 16
- 238000010276 construction Methods 0.000 claims abstract description 38
- 238000000034 method Methods 0.000 claims abstract description 32
- 238000012384 transportation and delivery Methods 0.000 claims abstract description 30
- 238000012795 verification Methods 0.000 claims abstract description 16
- 230000010354 integration Effects 0.000 claims abstract description 15
- 238000012544 monitoring process Methods 0.000 claims abstract description 12
- 230000000007 visual effect Effects 0.000 claims abstract description 7
- 238000005096 rolling process Methods 0.000 claims abstract description 6
- 238000012360 testing method Methods 0.000 claims description 27
- 230000003068 static effect Effects 0.000 claims description 16
- 238000004458 analytical method Methods 0.000 claims description 15
- 238000007726 management method Methods 0.000 claims description 14
- 238000011161 development Methods 0.000 claims description 8
- 238000004519 manufacturing process Methods 0.000 claims description 8
- 230000002085 persistent effect Effects 0.000 claims description 8
- 230000002459 sustained effect Effects 0.000 claims description 8
- 238000004806 packaging method and process Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 3
- 230000001960 triggered effect Effects 0.000 claims description 3
- 230000002045 lasting effect Effects 0.000 claims 4
- 230000008569 process Effects 0.000 abstract description 12
- 230000007246 mechanism Effects 0.000 abstract description 5
- 230000008859 change Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000036541 health Effects 0.000 description 3
- 238000012800 visualization Methods 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 239000000243 solution Substances 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013079 data visualisation Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/62—Uninstallation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种基于GitOps的OTA云端持续交付方法、系统、设备及存储介质,涉及计算机技术领域,方法包括:创建Git存储库并获取初始设置信息;获取代码和配置文件,提交至所述Git存储库进行自动构建,并在构建完成后进行构建结果检验,若构建成功则执行下一步骤,否则输出构建失败信息;通过GitOps工具进行自动部署更新,并在部署更新后进行部署验证,若部署验证失败,则回滚至上一稳定状态;监控获取日志数据和指标数据并进行可视化输出;该方法通过简化部署和更新过程提供版本控制和追溯能力,实现自动化和持续集成持续交付能力,并且引入安全验证机制以提供可扩展性和弹性,实现了高效、稳定和可靠的OTA系统云端持续交付。
Description
技术领域
本发明涉及计算机技术领域。
背景技术
传统的OTA(Over-the-Air)系统在云端持续交付方面存在多个问题。首先,部署和更新过程繁琐,需要手动配置和管理各个环境,包括开发、测试和生产环境,这可能导致错误和延迟。其次,缺乏版本控制和可追溯性,无法有效管理软件版本和变更历史,给问题排查和回滚带来困难。此外,缺乏自动化和持续集成/持续交付(CI/CD)能力,需要手动操作和部署软件更新,降低了效率并增加了错误的风险。
同时,配置漂移也是传统OTA系统很大的一个问题,由于手动配置错误、人员变动和沟通问题,直接修改生产环境等原因,导致配置和预期状态逐渐偏离,增加了系统不稳定、不可预测的行为,增加了故障风险和维护成本。
安全性和稳定性也是传统OTA系统的挑战之一。缺乏对软件更新的验证和验证机制可能导致恶意软件的注入或系统崩溃,对用户和设备的安全造成威胁。此外,传统OTA系统可能缺乏可扩展性和弹性,无法满足大规模和高并发的软件更新需求。
因此,如何提供一种稳定性高且安全性好的OTA云端持续交付方法,成为本领域亟待解决的技术问题。
发明内容
为了解决上述技术问题,本发明提供了一种基于GitOps的OTA云端持续交付方法、系统、设备及存储介质,该方法、系统、设备及存储介质通过简化部署和更新过程提供版本控制和追溯能力,实现自动化和持续集成持续交付能力,并且引入安全验证机制以提供可扩展性和弹性,实现了高效、稳定和可靠的OTA系统云端持续交付。
基于同一发明构思,本发明具有四个独立的技术方案:
1、一种基于GitOps的OTA云端持续交付方法,包括:
创建Git存储库并获取初始设置信息;
获取代码和配置文件,提交至所述Git存储库进行自动构建,并在构建完成后进行构建结果检验,若构建成功则执行下一步骤,否则输出构建失败信息;
通过GitOps工具进行自动部署更新,并在部署更新后进行部署验证,若部署验证失败,则回滚至部署更新前的状态;
监控获取日志数据和指标数据并进行可视化输出。
进一步地,所述创建Git存储库步骤通过GitLab工具实现,所述初始设置信息包括所述Git存储库的访问权限信息。
进一步地,获取代码和配置文件,提交至所述Git存储库时,采用分支管理进行提交。
进一步地,所述自动构建步骤通过Jenkins工具自动触发,所述自动构建步骤包括编译步骤、测试步骤和打包步骤。
进一步地,所述构建结果检验步骤包括静态代码分析和安全漏洞扫描,所述静态代码分析通过静态代码分析工具SonarQube实现,所述安全漏洞扫描通过安全漏洞扫描工具Snyk和Nessus实现。
进一步地,所述自动部署更新通过ArgoCD工具与所述Git存储库集成实现,所述ArgoCD工具监视Git存储库中的各个分支,并将更新应用到目标环境。
2、一种基于GitOps的OTA云端持续交付系统,包括基础设施层、持续集成持续部署层以及仪表盘层,所述基础设施层包括虚拟机组、Kubernetes、工具组以及临时容器组,所述工具组和临时容器组运行在所述Kubernetes上,所述工具组用于运行持续集成持续部署层。
进一步地,所述工具组包括SonarQube、Prometheus、Grafana、Gitlab、Jenkins以及Artifactory;
所述仪表盘层展示如下指标:K8s指标、Jenkins指标、Gitlab指标以及Artifactory指标;
所述持续集成持续部署层包括如下工作流程:
对代码进行编译,并进行静态扫描和单元测试,将通过测试的代码打包;
打包后的代码构建镜像,分别依次部署开发环境、测试环境和生产环境,并进行自动化测试。
3、一种电子设备,包括处理器和存储装置,所述存储装置中存有多条指令,所述处理器用于读取所述存储装置中的多条指令并执行上述方法。
4、一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述方法。
本发明提供的基于GitOps的OTA云端持续交付方法、系统、设备及存储介质,至少包括如下有益效果:
(1)该方法采用GitOps方案使用版本控制系统(如Git)来管理配置和应用代码,确保每个更改都有明确的记录和可追溯性,这使得系统的配置和部署状态可以轻松地回滚到先前的可靠状态,减少回滚时间和影响范围,以及配置漂移的风险;
(2)基于GitOps的方案通过自动化的方式将配置和应用代码同步到生产环境,确保所有环境的一致性;同时,这消除了人为错误和手动配置不一致性导致的问题,提高了系统的可靠性,降低系统的错误率,系统一致性和可靠性好;
(3)基于GitOps方案,该方法使用自动化工具和流程进行持续交付,通过自动化构建、测试和部署流程,减少了人为干预的机会,可以显著减少部署时间,提高交付速度;同时,基于GitOps的方案支持基础设施的自动化扩展和弹性调整,通过基于代码的配置管理,可以快速部署和调整应用程序的实例数量,以满足不同的负载需求;
(4)基于GitOps方案,该方法能够鼓励团队成员共享和协作,通过版本控制系统进行代码和配置的合并和冲突解决;此外,GitOps工具通常提供可视化界面和报告,使团队成员可以更好地了解系统的状态和变更历史;
(5)基于GitOps方案,该方法通过严格的访问控制和权限管理来提高系统的安全性,每个配置更改都有明确的提交记录,可以进行审计和跟踪,确保系统的安全性和合规性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的基于GitOps的OTA云端持续交付方法一种实施例的流程图;
图2为本发明提供的基于GitOps的OTA云端持续交付方法的工作流程图;
图3为本发明提供的基于GitOps的OTA云端持续交付系统基础设施层的示意图;
图4为本发明提供的基于GitOps的OTA云端持续交付系统仪表盘层的示意图;
图5为本发明提供的基于GitOps的OTA云端持续交付系统持续集成持续部署层的示意图。
具体实施方式
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案做详细的说明。
为了便于描述,以下对本申请实施例涉及的部分名词或术语进行说明:
Kubernetes:一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。
SonarQube:一个开源的静态代码分析工具,用于检测和修复代码质量问题,包括代码漏洞、重复代码、代码覆盖率等。
Prometheus:一个开源的监控和警报系统,用于收集、存储和查询应用程序和系统的指标数据,并提供实时的监控和警报功能。
Grafana:一个开源的数据可视化和监控平台,用于创建和共享动态仪表板,可连接多个数据源,并提供丰富的图表和可视化选项。
Gitlab:一个开源的版本控制系统和协作平台,提供代码仓库管理、问题跟踪、持续集成/持续交付等功能,用于团队协作和软件开发。
Jenkins:一个开源的自动化服务器,用于实现持续集成和持续交付流程,支持构建、测试和部署软件,并提供丰富的插件生态系统。
Artifactory:一个开源的二进制仓库管理系统,用于存储、管理和分发软件构建产物,包括库文件、构建工具和依赖项等,提供高效的构建和部署过程。
Kaniko:一个开源的容器镜像构建工具,用于在无需特权的容器环境中构建容器镜像。
Crane:一个开源的镜像迁移工具,用于在不同的容器镜像注册表之间复制和迁移镜像。
ArgoCD:一个开源的持续交付工具,用于自动化部署和管理应用程序到Kubernetes集群。
ELK Stack:一个开源的日志管理和分析平台,由Elasticsearch、Logstash和Kibana组成。
CI/CD:持续集成/持续交付。
实施例一:
参见图1,在一些实施例中,提供一种基于GitOps的OTA云端持续交付方法,包括:
S1、创建Git存储库并获取初始设置信息;
S2、获取代码和配置文件,提交至所述Git存储库进行自动构建,并在构建完成后进行构建结果检验,若构建成功则执行下一步骤,否则输出构建失败信息;
S3、通过GitOps工具进行自动部署更新,并在部署更新后进行部署验证,若部署验证失败,则回滚至部署更新前的状态;
S4、监控获取日志数据和指标数据并进行可视化输出。
具体地,步骤S1中,所述创建Git存储库步骤通过GitLab工具实现,所述初始设置信息包括所述Git存储库的访问权限信息。
步骤S2中,获取代码和配置文件,提交至所述Git存储库时,采用分支管理进行提交。
优选地,所述自动构建步骤通过Jenkins工具自动触发,所述自动构建步骤包括编译步骤、测试步骤和打包步骤。
优选地,所述构建结果检验步骤包括静态代码分析和安全漏洞扫描,所述静态代码分析通过静态代码分析工具SonarQube实现,所述安全漏洞扫描通过安全漏洞扫描工具Snyk和Nessus实现。
步骤S3中,所述自动部署更新通过ArgoCD工具与所述Git存储库集成实现,所述ArgoCD工具监视Git存储库中的各个分支,并将更新应用到目标环境。所述目标环境包括开发环境、测试环境以及生产环境。
参见图2,展示了GitOps主流程,具体如下:
初始化:首先,系统需要进行初始化设置。这包括创建一个Git存储库(Repository)用于存储应用程序代码和配置文件,并设置相关的访问权限,具体包括:
创建Git存储库:使用GitLab创建一个新的Git存储库;
设置访问权限:配置存储库的访问权限,以确保只有授权的人员可以对存储库进行更改。
代码提交:开发人员通过Git客户端将代码和配置文件提交到Git存储库,这些提交可以包括新功能的开发、错误修复或配置更改等。开发人员使用Git客户端(如Git命令行、Git GUI工具)将代码和配置文件提交到Git存储库。
分支管理表示使用分支来进行不同功能或修复的开发,确保代码的可追溯性和版本控制。
自动构建:一旦代码提交到Git存储库,系统会触发自动构建流程。这可以通过使用持续集成/持续交付(CI/CD)工具来实现。自动构建流程可以包括编译代码、运行测试、生成可执行文件或构建容器镜像等。
自动构建采用的构建脚本包括但不限于Makefile、Shell脚本、CI配置文件,定义构建过程中的编译、测试和打包等步骤。
构建验证:在自动构建完成后,系统会执行构建验证步骤。这包括对构建结果进行静态代码分析、安全漏洞扫描、质量检查等。如果验证步骤失败,系统会通知开发人员并标记构建为失败状态。构建验证具体包括:
静态代码分析:使用静态代码分析工具SonarQube对代码进行分析,发现潜在的问题和代码质量改进点。
安全漏洞扫描:使用安全漏洞扫描工具Snyk、Nessus检查构建结果中的安全漏洞,并提供修复建议。
部署更新:系统会使用GitOps的方式将更新部署到目标环境。这可以通过使用GitOps工具(如Argo CD)来实现。GitOps工具会监视Git存储库中的特定分支或标签,并自动将更新应用到目标环境。
部署更新还包括声明性配置:使用GitOps工具提供的声明性配置文件KubernetesYAML文件定义应用程序的部署规范。
部署验证:一旦部署完成,系统会执行部署验证步骤来确保应用程序在目标环境中正常运行。这可以包括运行集成测试、执行健康检查、监控应用程序指标等。如果部署验证失败,系统会通知相关人员并回滚到上一个稳定状态。具体包括:
集成测试:编写自动化集成测试用例,确保部署的应用程序在目标环境中正常运行;
健康检查:实现健康检查机制,定期检查应用程序的运行状态和可用性。
7. 自动回滚:如果部署验证失败或出现问题,系统可以自动执行回滚操作,将应用程序回退到之前的稳定状态,即部署之前的状态。这可以通过GitOps工具自动切换回先前的提交或标签来实现, 由GitOps工具支持,即使用ArgoCD工具的回滚功能。通过git的回滚指令把部署配置文件里的镜像版本号回滚到部署之前的版本号,再通过argocd监听自动部署,达到回滚的效果。
回滚采用如下策略:基于部署验证结果、监控指标或手动触发等条件来决定是否执行回滚操作。
8. 监控和日志:系统会持续监控应用程序在云端的运行状态,并收集日志和指标数据。这可以用于故障排除、性能优化和安全审计等目的。具体包括:
应用程序监控:使用监控工具Prometheus、Grafana监视应用程序的性能指标、日志和事件;
日志收集和分析:配置日志收集工具ELK Stack来收集、存储和分析应用程序的日志数据。
9. 可视化和报告:系统可以提供可视化界面和报告,以显示应用程序的部署状态、构建历史、验证结果和运行指标等。这使得开发人员和运维人员可以方便地查看系统的状态和性能。具体包括:
仪表板和报告生成:使用可视化工具Grafana创建仪表板和报告,展示应用程序的部署状态、验证结果和运行指标;
自定义报告:根据团队或组织的需求,定制化生成特定格式的报告,以满足特定的报告要求。
实施例二:
参见图3-5,在一些实施例中,提供一种基于GitOps的OTA云端持续交付系统,包括基础设施层、持续集成持续部署层以及仪表盘层,所述基础设施层包括虚拟机组、Kubernetes、工具组以及临时容器组,所述工具组和临时容器组运行在所述Kubernetes上,所述工具组用于运行持续集成持续部署层。
优选地,参见图3,基础设施层提供了容器运行的基础环境,运行CI/CD工具链的容器以及运行pipeline所启动的临时容器都运行在Kubernetes上。
所述工具组包括SonarQube、Prometheus、Grafana、Gitlab、Jenkins以及Artifactory;
优选地,参见图4,仪表盘Dashboard展示了系统的各种运行指标,可以帮助我们清楚掌握系统的运行情况。所述仪表盘层展示如下指标:K8s指标、Jenkins指标、Gitlab指标以及Artifactory指标。
优选地,参见图5,所述持续集成持续部署层包括如下工作流程:
对代码进行编译,并进行静态扫描和单元测试,将通过测试的代码打包;
打包后的代码构建镜像,分别依次部署开发环境、测试环境和生产环境,并进行自动化测试。
CI/CD层是GitOps的执行层,在这一层维护了CI/CD pipeline的编排步骤以及OTA系统运行的各个环境。
使用如图5的流水线设计具有以下优势:
开发人员提交代码后,可以通过一条pipeline实现从制品的生成,到开发、测试环境的验证,最终把价值交付到用户手中;可以根据自身自动化测试程度决定全流程自动化还有引入人工确认的机制,并随着自动化能力的不断加强最终实现全流程自动化;引入持续交付工具ArgoCD可以带来GitOps的优势,同时把使用Jenkins的CI流程和使用ArgoCD的CD流程打通,并通过制品晋级的机制真正实现持续交付。
优选地,实施例一中的基于GitOps的OTA云端持续交付方法可通过实施例二中的系统实现,此处不再赘述。
实施例三:
在一些实施例中,提供一种电子设备,包括处理器和存储装置,所述存储装置中存有多条指令,所述处理器用于读取所述存储装置中的多条指令并执行实施例一中的方法。
实施例四:
在一些实施例中,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例一中的方法。
上述实施例提供的基于GitOps的OTA云端持续交付方法、系统、设备及存储介质,采用GitOps方案使用版本控制系统(如Git)来管理配置和应用代码,确保每个更改都有明确的记录和可追溯性,这使得系统的配置和部署状态可以轻松地回滚到先前的可靠状态,减少回滚时间和影响范围,以及配置漂移的风险;基于GitOps的方案通过自动化的方式将配置和应用代码同步到生产环境,确保所有环境的一致性;同时,这消除了人为错误和手动配置不一致性导致的问题,提高了系统的可靠性,降低系统的错误率,系统一致性和可靠性好;基于GitOps方案,该方法使用自动化工具和流程进行持续交付,通过自动化构建、测试和部署流程,减少了人为干预的机会,可以显著减少部署时间,提高交付速度;同时,基于GitOps的方案支持基础设施的自动化扩展和弹性调整,通过基于代码的配置管理,可以快速部署和调整应用程序的实例数量,以满足不同的负载需求;基于GitOps方案,该方法能够鼓励团队成员共享和协作,通过版本控制系统进行代码和配置的合并和冲突解决;此外,GitOps工具通常提供可视化界面和报告,使团队成员可以更好地了解系统的状态和变更历史;基于GitOps方案,该方法通过严格的访问控制和权限管理来提高系统的安全性,每个配置更改都有明确的提交记录,可以进行审计和跟踪,确保系统的安全性和合规性。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种基于GitOps的OTA云端持续交付方法,其特征在于,包括:
创建Git存储库并获取初始设置信息;
获取代码和配置文件,提交至所述Git存储库进行自动构建,并在构建完成后进行构建结果检验,若构建成功则执行下一步骤,否则输出构建失败信息;
通过GitOps工具进行自动部署更新,并在部署更新后进行部署验证,若部署验证失败,则回滚至部署更新前的状态;
监控获取日志数据和指标数据并进行可视化输出。
2.根据权利要求1所述的OTA云端持续交付方法,其特征在于,创建所述Git存储库步骤通过GitLab工具实现,所述初始设置信息包括所述Git存储库的访问权限信息。
3.根据权利要求1所述的OTA云端持续交付方法,其特征在于,获取代码和配置文件,提交至所述Git存储库时,采用分支管理进行提交。
4.根据权利要求1所述的OTA云端持续交付方法,其特征在于,所述自动构建步骤通过Jenkins工具自动触发,所述自动构建步骤包括编译步骤、测试步骤和打包步骤。
5.根据权利要求1所述的OTA云端持续交付方法,其特征在于,所述构建结果检验步骤包括静态代码分析和安全漏洞扫描,所述静态代码分析通过静态代码分析工具SonarQube实现,所述安全漏洞扫描通过安全漏洞扫描工具Snyk和Nessus实现。
6.根据权利要求3所述的OTA云端持续交付方法,其特征在于,所述自动部署更新通过ArgoCD工具与所述Git存储库集成实现,所述ArgoCD工具监视Git存储库中的各个分支,并将更新应用到目标环境。
7.一种基于GitOps的OTA云端持续交付系统,其特征在于,包括基础设施层、持续集成持续部署层以及仪表盘层,所述基础设施层包括虚拟机组、Kubernetes、工具组以及临时容器组,所述工具组和临时容器组运行在所述Kubernetes上,所述工具组用于运行持续集成持续部署层。
8.根据权利要求7所述的OTA云端持续交付系统,其特征在于,所述工具组包括SonarQube、Prometheus、Grafana、Gitlab、Jenkins以及Artifactory;
所述仪表盘层展示如下指标:K8s指标、Jenkins指标、Gitlab指标以及Artifactory指标;
所述持续集成持续部署层包括如下工作流程:
对代码进行编译,并进行静态扫描和单元测试,将通过测试的代码打包;
打包后的代码构建镜像,分别依次部署开发环境、测试环境和生产环境,并进行自动化测试。
9.一种电子设备,包括处理器和存储装置,其特征在于,所述存储装置中存有多条指令,所述处理器用于读取所述存储装置中的多条指令并执行如权利要求1-6任一所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311286164.0A CN117008958A (zh) | 2023-10-08 | 2023-10-08 | 基于GitOps的OTA云端持续交付方法、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311286164.0A CN117008958A (zh) | 2023-10-08 | 2023-10-08 | 基于GitOps的OTA云端持续交付方法、系统、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117008958A true CN117008958A (zh) | 2023-11-07 |
Family
ID=88574743
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311286164.0A Pending CN117008958A (zh) | 2023-10-08 | 2023-10-08 | 基于GitOps的OTA云端持续交付方法、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117008958A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117609100A (zh) * | 2024-01-17 | 2024-02-27 | 北京智麟科技有限公司 | 一种自动化代码合并及部署方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108762769A (zh) * | 2018-06-04 | 2018-11-06 | 万惠投资管理有限公司 | 微服务应用编排和部署方法、装置及计算机终端 |
CN109344080A (zh) * | 2018-10-31 | 2019-02-15 | 江苏电力信息技术有限公司 | 持续交付与自动化测试一体化集成的软件质量保障方法 |
CN109783090A (zh) * | 2019-01-18 | 2019-05-21 | 成都宝瓜科技有限公司 | 一种用于持续交付的可视化方法、装置和服务器 |
CN114489934A (zh) * | 2021-12-29 | 2022-05-13 | 北京航天智造科技发展有限公司 | 一种基于容器的持续交付方法和装置 |
CN116225832A (zh) * | 2022-12-23 | 2023-06-06 | 北京人大金仓信息技术股份有限公司 | 数据库集群自动化部署的自动检测方法、存储介质及设备 |
CN116820493A (zh) * | 2023-05-23 | 2023-09-29 | 山东浪潮科学研究院有限公司 | 一种镜像文件部署方法、系统、设备及存储介质 |
-
2023
- 2023-10-08 CN CN202311286164.0A patent/CN117008958A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108762769A (zh) * | 2018-06-04 | 2018-11-06 | 万惠投资管理有限公司 | 微服务应用编排和部署方法、装置及计算机终端 |
CN109344080A (zh) * | 2018-10-31 | 2019-02-15 | 江苏电力信息技术有限公司 | 持续交付与自动化测试一体化集成的软件质量保障方法 |
CN109783090A (zh) * | 2019-01-18 | 2019-05-21 | 成都宝瓜科技有限公司 | 一种用于持续交付的可视化方法、装置和服务器 |
CN114489934A (zh) * | 2021-12-29 | 2022-05-13 | 北京航天智造科技发展有限公司 | 一种基于容器的持续交付方法和装置 |
CN116225832A (zh) * | 2022-12-23 | 2023-06-06 | 北京人大金仓信息技术股份有限公司 | 数据库集群自动化部署的自动检测方法、存储介质及设备 |
CN116820493A (zh) * | 2023-05-23 | 2023-09-29 | 山东浪潮科学研究院有限公司 | 一种镜像文件部署方法、系统、设备及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117609100A (zh) * | 2024-01-17 | 2024-02-27 | 北京智麟科技有限公司 | 一种自动化代码合并及部署方法 |
CN117609100B (zh) * | 2024-01-17 | 2024-04-23 | 北京智麟科技有限公司 | 一种自动化代码合并及部署方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8645326B2 (en) | System to plan, execute, store and query automation tests | |
EP3769223B1 (en) | Unified test automation system | |
CN110532189B (zh) | 一种持续集成系统、方法及装置 | |
Adams et al. | Modern release engineering in a nutshell--why researchers should care | |
US11243516B2 (en) | Edge devices and associated networks utilising microservices | |
US20170372247A1 (en) | Methods, systems, and articles of manufacture for implementing software application development and releases | |
US20050080811A1 (en) | Configuration management architecture | |
US20080320071A1 (en) | Method, apparatus and program product for creating a test framework for testing operating system components in a cluster system | |
Laadan et al. | Teaching operating systems using virtual appliances and distributed version control | |
Das et al. | Prutor: A system for tutoring CS1 and collecting student programs for analysis | |
Humble et al. | The deployment production line | |
CN117008958A (zh) | 基于GitOps的OTA云端持续交付方法、系统、设备及存储介质 | |
Li et al. | Next generation of the java image science toolkit (jist): visualization and validation | |
US20170060729A1 (en) | Oracle cemli analysis tool | |
Sotiropoulos et al. | The additional testsuite framework: facilitating software testing and test management | |
Michalik et al. | Supporting online updates of software product lines: A controlled experiment | |
Xiao et al. | Managing vulnerabilities in a cloud native world with bluefix | |
Melin | Tackling Version Management and Reproducibility in MLOps | |
US20230221939A1 (en) | Version history based upgrade testing across simulated information technology environments | |
US20230221973A1 (en) | Machine learning based predictions of upgrade testing outcomes for information technology environments | |
Camci | Implementation of integration testing for front-end development | |
Ihalainen | Analysing learning management system performance | |
Johansson | A Comparison of CI/CD tools on Kubernetes | |
Marcut | Continuous delivery | |
CN114116468A (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 |