本发明涉及计算机。
背景技术:
1、传统的ota(over-the-air)系统在云端持续交付方面存在多个问题。首先,部署和更新过程繁琐,需要手动配置和管理各个环境,包括开发、测试和生产环境,这可能导致错误和延迟。其次,缺乏版本控制和可追溯性,无法有效管理软件版本和变更历史,给问题排查和回滚带来困难。此外,缺乏自动化和持续集成/持续交付(ci/cd)能力,需要手动操作和部署软件更新,降低了效率并增加了错误的风险。
2、同时,配置漂移也是传统ota系统很大的一个问题,由于手动配置错误、人员变动和沟通问题,直接修改生产环境等原因,导致配置和预期状态逐渐偏离,增加了系统不稳定、不可预测的行为,增加了故障风险和维护成本。
3、安全性和稳定性也是传统ota系统的挑战之一。缺乏对软件更新的验证和验证机制可能导致恶意软件的注入或系统崩溃,对用户和设备的安全造成威胁。此外,传统ota系统可能缺乏可扩展性和弹性,无法满足大规模和高并发的软件更新需求。
4、因此,如何提供一种稳定性高且安全性好的ota云端持续交付方法,成为本领域亟待解决的技术问题。
技术实现思路
1、为了解决上述技术问题,本发明提供了一种基于gitops的ota云端持续交付方法、系统、设备及存储介质,该方法、系统、设备及存储介质通过简化部署和更新过程提供版本控制和追溯能力,实现自动化和持续集成持续交付能力,并且引入安全验证机制以提供可扩展性和弹性,实现了高效、稳定和可靠的ota系统云端持续交付。
2、基于同一发明构思,本发明具有四个独立的技术方案:
3、1、一种基于gitops的ota云端持续交付方法,包括:
4、创建git存储库并获取初始设置信息;
5、获取代码和配置文件,提交至所述git存储库进行自动构建,并在构建完成后进行构建结果检验,若构建成功则执行下一步骤,否则输出构建失败信息;
6、通过gitops工具进行自动部署更新,并在部署更新后进行部署验证,若部署验证失败,则回滚至部署更新前的状态;
7、监控获取日志数据和指标数据并进行可视化输出。
8、进一步地,所述创建git存储库步骤通过gitlab工具实现,所述初始设置信息包括所述git存储库的访问权限信息。
9、进一步地,获取代码和配置文件,提交至所述git存储库时,采用分支管理进行提交。
10、进一步地,所述自动构建步骤通过jenkins工具自动触发,所述自动构建步骤包括编译步骤、测试步骤和打包步骤。
11、进一步地,所述构建结果检验步骤包括静态代码分析和安全漏洞扫描,所述静态代码分析通过静态代码分析工具sonarqube实现,所述安全漏洞扫描通过安全漏洞扫描工具snyk和nessus实现。
12、进一步地,所述自动部署更新通过argocd工具与所述git存储库集成实现,所述argocd工具监视git存储库中的各个分支,并将更新应用到目标环境。
13、2、一种基于gitops的ota云端持续交付系统,包括基础设施层、持续集成持续部署层以及仪表盘层,所述基础设施层包括虚拟机组、kubernetes、工具组以及临时容器组,所述工具组和临时容器组运行在所述kubernetes上,所述工具组用于运行持续集成持续部署层。
14、进一步地,所述工具组包括sonarqube、prometheus、grafana、gitlab、jenkins以及artifactory;
15、所述仪表盘层展示如下指标:k8s指标、jenkins指标、gitlab指标以及artifactory指标;
16、所述持续集成持续部署层包括如下工作流程:
17、对代码进行编译,并进行静态扫描和单元测试,将通过测试的代码打包;
18、打包后的代码构建镜像,分别依次部署开发环境、测试环境和生产环境,并进行自动化测试。
19、3、一种电子设备,包括处理器和存储装置,所述存储装置中存有多条指令,所述处理器用于读取所述存储装置中的多条指令并执行上述方法。
20、4、一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述方法。
21、本发明提供的基于gitops的ota云端持续交付方法、系统、设备及存储介质,至少包括如下有益效果:
22、(1)该方法采用gitops方案使用版本控制系统(如git)来管理配置和应用代码,确保每个更改都有明确的记录和可追溯性,这使得系统的配置和部署状态可以轻松地回滚到先前的可靠状态,减少回滚时间和影响范围,以及配置漂移的风险;
23、(2)基于gitops的方案通过自动化的方式将配置和应用代码同步到生产环境,确保所有环境的一致性;同时,这消除了人为错误和手动配置不一致性导致的问题,提高了系统的可靠性,降低系统的错误率,系统一致性和可靠性好;
24、(3)基于gitops方案,该方法使用自动化工具和流程进行持续交付,通过自动化构建、测试和部署流程,减少了人为干预的机会,可以显著减少部署时间,提高交付速度;同时,基于gitops的方案支持基础设施的自动化扩展和弹性调整,通过基于代码的配置管理,可以快速部署和调整应用程序的实例数量,以满足不同的负载需求;
25、(4)基于gitops方案,该方法能够鼓励团队成员共享和协作,通过版本控制系统进行代码和配置的合并和冲突解决;此外,gitops工具通常提供可视化界面和报告,使团队成员可以更好地了解系统的状态和变更历史;
26、(5)基于gitops方案,该方法通过严格的访问控制和权限管理来提高系统的安全性,每个配置更改都有明确的提交记录,可以进行审计和跟踪,确保系统的安全性和合规性。
1.一种基于gitops的ota云端持续交付方法,其特征在于,包括:
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;
9.一种电子设备,包括处理器和存储装置,其特征在于,所述存储装置中存有多条指令,所述处理器用于读取所述存储装置中的多条指令并执行如权利要求1-6任一所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6任一所述的方法。