基于GitOps的OTA云端持续交付方法、系统、设备及存储介质技术方案

技术编号:39333342 阅读:38 留言:0更新日期:2023-11-12 16:08
一种基于GitOps的OTA云端持续交付方法、系统、设备及存储介质,涉及计算机技术领域,方法包括:创建Git存储库并获取初始设置信息;获取代码和配置文件,提交至所述Git存储库进行自动构建,并在构建完成后进行构建结果检验,若构建成功则执行下一步骤,否则输出构建失败信息;通过GitOps工具进行自动部署更新,并在部署更新后进行部署验证,若部署验证失败,则回滚至上一稳定状态;监控获取日志数据和指标数据并进行可视化输出;该方法通过简化部署和更新过程提供版本控制和追溯能力,实现自动化和持续集成持续交付能力,并且引入安全验证机制以提供可扩展性和弹性,实现了高效、稳定和可靠的OTA系统云端持续交付。可靠的OTA系统云端持续交付。可靠的OTA系统云端持续交付。

【技术实现步骤摘要】
基于GitOps的OTA云端持续交付方法、系统、设备及存储介质


[0001]本专利技术涉及计算机


技术介绍

[0002]传统的OTA(Over

the

Air)系统在云端持续交付方面存在多个问题。首先,部署和更新过程繁琐,需要手动配置和管理各个环境,包括开发、测试和生产环境,这可能导致错误和延迟。其次,缺乏版本控制和可追溯性,无法有效管理软件版本和变更历史,给问题排查和回滚带来困难。此外,缺乏自动化和持续集成/持续交付(CI/CD)能力,需要手动操作和部署软件更新,降低了效率并增加了错误的风险。
[0003]同时,配置漂移也是传统OTA系统很大的一个问题,由于手动配置错误、人员变动和沟通问题,直接修改生产环境等原因,导致配置和预期状态逐渐偏离,增加了系统不稳定、不可预测的行为,增加了故障风险和维护成本。
[0004]安全性和稳定性也是传统OTA系统的挑战之一。缺乏对软件更新的验证和验证机制可能导致恶意软件的注入或系统崩溃,对用户和设备的安全造成威胁。此外,传统OTA系统可能缺乏可扩展性和弹性,无法满足大规模和高并发的软件更新需求。
[0005]因此,如何提供一种稳定性高且安全性好的OTA云端持续交付方法,成为本领域亟待解决的技术问题。

技术实现思路

[0006]为了解决上述技术问题,本专利技术提供了一种基于GitOps的OTA云端持续交付方法、系统、设备及存储介质,该方法、系统、设备及存储介质通过简化部署和更新过程提供版本控制和追溯能力,实现自动化和持续集成持续交付能力,并且引入安全验证机制以提供可扩展性和弹性,实现了高效、稳定和可靠的OTA系统云端持续交付。
[0007]基于同一专利技术构思,本专利技术具有四个独立的技术方案:1、一种基于GitOps的OTA云端持续交付方法,包括:创建Git存储库并获取初始设置信息;获取代码和配置文件,提交至所述Git存储库进行自动构建,并在构建完成后进行构建结果检验,若构建成功则执行下一步骤,否则输出构建失败信息;通过GitOps工具进行自动部署更新,并在部署更新后进行部署验证,若部署验证失败,则回滚至部署更新前的状态;监控获取日志数据和指标数据并进行可视化输出。
[0008]进一步地,所述创建Git存储库步骤通过GitLab工具实现,所述初始设置信息包括所述Git存储库的访问权限信息。
[0009]进一步地,获取代码和配置文件,提交至所述Git存储库时,采用分支管理进行提交。
[0010]进一步地,所述自动构建步骤通过Jenkins工具自动触发,所述自动构建步骤包括
编译步骤、测试步骤和打包步骤。
[0011]进一步地,所述构建结果检验步骤包括静态代码分析和安全漏洞扫描,所述静态代码分析通过静态代码分析工具SonarQube实现,所述安全漏洞扫描通过安全漏洞扫描工具Snyk和Nessus实现。
[0012]进一步地,所述自动部署更新通过ArgoCD工具与所述Git存储库集成实现,所述ArgoCD工具监视Git存储库中的各个分支,并将更新应用到目标环境。
[0013]2、一种基于GitOps的OTA云端持续交付系统,包括基础设施层、持续集成持续部署层以及仪表盘层,所述基础设施层包括虚拟机组、Kubernetes、工具组以及临时容器组,所述工具组和临时容器组运行在所述Kubernetes上,所述工具组用于运行持续集成持续部署层。
[0014]进一步地,所述工具组包括SonarQube、Prometheus、Grafana、Gitlab、Jenkins以及Artifactory;所述仪表盘层展示如下指标:K8s指标、Jenkins指标、Gitlab指标以及Artifactory指标;所述持续集成持续部署层包括如下工作流程:对代码进行编译,并进行静态扫描和单元测试,将通过测试的代码打包;打包后的代码构建镜像,分别依次部署开发环境、测试环境和生产环境,并进行自动化测试。
[0015]3、一种电子设备,包括处理器和存储装置,所述存储装置中存有多条指令,所述处理器用于读取所述存储装置中的多条指令并执行上述方法。
[0016]4、一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述方法。
[0017]本专利技术提供的基于GitOps的OTA云端持续交付方法、系统、设备及存储介质,至少包括如下有益效果:(1)该方法采用GitOps方案使用版本控制系统(如Git)来管理配置和应用代码,确保每个更改都有明确的记录和可追溯性,这使得系统的配置和部署状态可以轻松地回滚到先前的可靠状态,减少回滚时间和影响范围,以及配置漂移的风险;(2)基于GitOps的方案通过自动化的方式将配置和应用代码同步到生产环境,确保所有环境的一致性;同时,这消除了人为错误和手动配置不一致性导致的问题,提高了系统的可靠性,降低系统的错误率,系统一致性和可靠性好;(3)基于GitOps方案,该方法使用自动化工具和流程进行持续交付,通过自动化构建、测试和部署流程,减少了人为干预的机会,可以显著减少部署时间,提高交付速度;同时,基于GitOps的方案支持基础设施的自动化扩展和弹性调整,通过基于代码的配置管理,可以快速部署和调整应用程序的实例数量,以满足不同的负载需求;(4)基于GitOps方案,该方法能够鼓励团队成员共享和协作,通过版本控制系统进行代码和配置的合并和冲突解决;此外,GitOps工具通常提供可视化界面和报告,使团队成员可以更好地了解系统的状态和变更历史;(5)基于GitOps方案,该方法通过严格的访问控制和权限管理来提高系统的安全性,每个配置更改都有明确的提交记录,可以进行审计和跟踪,确保系统的安全性和合规
性。
附图说明
[0018]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0019]图1为本专利技术提供的基于GitOps的OTA云端持续交付方法一种实施例的流程图;图2为本专利技术提供的基于GitOps的OTA云端持续交付方法的工作流程图;图3为本专利技术提供的基于GitOps的OTA云端持续交付系统基础设施层的示意图;图4为本专利技术提供的基于GitOps的OTA云端持续交付系统仪表盘层的示意图;图5为本专利技术提供的基于GitOps的OTA云端持续交付系统持续集成持续部署层的示意图。
具体实施方式
[0020]为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案做详细的说明。
[0021]为了便于描述,以下对本申请实施例涉及的部分名词或术语进行说明:Kubernetes:一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。
[0022]SonarQu本文档来自技高网
...

【技术保护点】

【技术特征摘要】
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存储库集成实现,所...

【专利技术属性】
技术研发人员:张亚斌
申请(专利权)人:富钛字节车载软件长春有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1