ThingsBoard版本控制配合Gitee实现版本控制

                  1、概述

2、架构

3、导出设置

4、仓库

5、同步策略

6、扩展

7、案例

7.1、首先需要在Giitee上创建对应同步到仓库地址

​7.2、giit仓库只能在租户层面进行配置

7.3、 配置完成后:检查访问权限。显示已成功验证仓库访问!表示配置成功

 7.4、添加设备进行版本管理

7.5、创建​

 7.6、显示版本信息 ​编辑

7.7、查看Gitee仓库是否推送成功 

7.8、测试还原版本

7.9、配置自动提交策略

7.10、修改设备并查看版本情况

7.11、测试数据恢复

7.12、点击对应行恢复的版本

7.13、选择想恢复的内容,并点击恢复

7.14、 提示回复版本​编辑

7.15、查看设备信息,验证是否恢复


1、概述

ThingsBoard版本控制服务提供了使用Git导出和恢复实体的功能租户管理员可以使用UI或REST API配置对Git存储库的访问权限,平台用户可以导出单个或多个实体、浏览版本历史记录并将实体还原到指定版本。

当多个工程师设计相同的规则链或仪表板时此功能可改善用户体验并简化CI/CD还允许你轻松地在租户或平台实例之间解决方案克隆。

总结:测试环境的数据,可同步到生成环境 

2、架构

每个ThingsBoard实体都有”ID”字段用于标识实体的唯一导出的实体都包含新提交的”externalId”该字段用于在多个实例之间导入和导出时标识同一实体,”id”和”externalId”字段的类型均为UUID。

“externalId”还用于自动替换规则链(规则节点)和仪表板(别名和部件操作)中的实体ID,如果你决定导入引用某些设备或资产的规则链请确保也导出/导入了相应的设备或资产。

3、导出设置

本支持以下实体:设备、资产、实体视图、客户、仪表板、部件包、规则链、实体组、角色、转换器和集成

系统有意省略了对用户实体的支持因为用户电子邮件在平台实例的范围内是唯一的如果将电子邮件和凭据导出到Git会存在错误。

导出实体时我们将实体的JSON表示形式存储在Git中还可以导出实体属性、关系和凭据(仅限设备)。

4、仓库

首次将实体导出到Git时实体”id”用于命名git存储库中的文件。
当将实体从Git导入ThingsBoard时文件名中的”id”将成为实体的”externalId”。
externalId”在租户范围内是唯一的因此可以在同一平台实例的租户之间或不同实例之间导入/导出实体每次执行导出和导入操作时通过”externalId”用于查找更新实体。
请参阅下面的示例:

假设你有开发了一个实例并导出了一个名为”Dashboard 1”和ID为”4864b750-da7d-11ec-a496-97fa2815d2fe”的单个仪表板然后存储库将具有具有以下全名和路径的单个文件:

5、同步策略

平台支持两种导出到Git的同步策略:合并和覆盖
“合并”是默认的同步策略它只是将选定的实体附加到存储库当你想要保存一个或多个文件而不从存储库中删除所有其他文件时此策略非常有用。
“覆盖”策略完全重写相应的存储库文件当你想要完全同步实例和Git存储库中的实体列表(例如控制面板)时此策略会覆盖之前保存到Git的实例中并删除平台不存在Git中的其它实体都。

6、扩展

ThingsBoard版本控制服务可作为单体式ThingsBoard实例的一部分提供也可作为单独的微服务提供以实现水平可扩展性。
版本控制服务的每个实例都负责处理群集中租户的特定分区的同步任务每个”commit”API调用可能需要一些时间,不支持同一租户范围内的并发”commit”调用API。
如果”commit”API调用正在进行并且新的”commit”API调用到达系统将取消该调用。 

7、案例

7.1、首先需要在Giitee上创建对应同步到仓库地址
7.2、giit仓库只能在租户层面进行配置,
选择:高级设置-版本控制 

仓库URL:就是你仓库仓库的地址

默认分支名称:你想同步分支的名称

身份证验证:Gitee的账号和密码

7.3、 配置完成后:检查访问权限。显示已成功验证仓库访问!表示配置成功

 7.4、添加设备进行版本管理

7.5、创建
 7.6、显示版本信息 
7.7、查看Gitee仓库是否推送成功 

7.8、测试还原版本

7.9、配置自动提交策略

自动提交能可以通过UI或REST API调用保存实体时自动提交仪表板和规则链,自动提交是异步方式进行以改善UI体验当将实体分配给客户(更改实体所有者)时不会发生自动提交,在这种情况下应使用覆盖策略提交特定实体类型的所有实体。对某类实体进行修改后,无需做提交,会自动进行提交,防止遗忘 

7.10、修改设备并查看版本情况

7.11、测试数据恢复

删除对应设备信息

7.12、点击对应行恢复的版本

7.13、选择想恢复的内容,并点击恢复

7.14、 提示回复版本
7.15、查看设备信息,验证是否恢复

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/599357.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

喜报 | 擎创科技荣获NIISA联盟2023年度创新技术特等奖!

为深入实施创新驱动发展战略,紧紧把握全球科技革命和产业变革方向,密切跟踪前沿科技新趋势,经科技部中国民营促进会业务主管部门批准以及国家互联网数据中心产业技术创新战略联盟(以下简称联盟)总体工作安排&#xff0…

前端nginx(windows操作系统)学习配置开发验证

Nginx概述 Nginx 作为负载均衡在 Linux 系统上具备很好的并发性能,并且占用极小的内存。但是在 Windows 系统上并不支撑较高并发,所以在Windows系统上选用Nginx作为负载均衡,需要考虑并发情况。 若并发需求低于 300,部署集群仅以…

LMdeploy推理实践

在inter-studio平台上,下载模型,体验lmdeploy 下载模型 这里是因为平台上已经有了internlm2模型,所以建立一个符号链接指向它,没有重新下载 ln -s /root/share/new_models/Shanghai_AI_Laboratory/internlm2-chat-1_8b /root/如…

四级英语翻译随堂笔记

降维表达:中译英,英译英 没有强调主语,没有说明主语:用被动 但如果实在不行,再增添主语 不会就不翻译,不要乱翻译 以xxx为背景:against the backdrop of the xxx eg:against the backdrop of…

关于执行CLAM的代码的一些需要记录的点

文章链接:[2004.09666] Data Efficient and Weakly Supervised Computational Pathology on Whole Slide Images (arxiv.org) 代码链接:GitHub - mahmoodlab/CLAM: Data-efficient and weakly supervised computational pathology on whole slide images…

如何将 ONLYOFFICE 协作空间服务器版更新至 2.5

最近我们发布了 ONLYOFFICE 协作空间 2.5 云端版。好消息,该文档协作平台的自托管版本也已推出。现在,您可以轻松更新协作空间的实例,在本地尝试所有新功能。阅读本文了解更多信息。 ONLYOFFICE 协作空间 2.5 新功能 更新到 ONLYOFFICE 协作…

暴雨发布大模型专用分布式全闪存储

近日,暴雨信息发布为大模型专门优化的分布式全闪存储AVERSE系列。该系列依托暴雨信息自研分布式文件系统,搭载新一代数据加速引擎Xdata,通过盘控协同、GPU直访存储、全局一致性缓存等技术为AI大模型数据归集、训练、数据归档与管理等阶段提供…

安卓玩机工具----一键备份手机分区 防止全檫除或者格机导致安全数据分区丢失

工具说明; 目前玩机root后有很多格机脚本。模块等等误刷会导致基带信号等等问题,在前面的博文中我有介绍过备份主要数据分区的重要性 。其实对于不了解root和不安装有些模块 外挂等等需要的友友不建议对手机进行root。root后对于手机安全性会有所降低。对于玩家来说…

Python 全栈体系【四阶】(四十一)

第五章 深度学习 九、图像分割 1. 基本介绍 1.1 什么是图像分割 图像分割(Segmentation)是图像处理和机器视觉一个重要分支,其目标是精确理解图像场景与内容。图像分割是在像素级别上的分类,属于同一类的像素都要被归为一类&a…

【GA】deap之个体和种群概览(一)

参考资料 1.《基于遗传算法(deap库)的一元函数寻优代码详解》 2.官方文档:http://deap.readthedocs.io/en/master/index.html 3.《 Deap: python中的遗传算法工具箱》 ,⭐️666 —————— 文章目录 壹、overview一、Types1. Fitness 适应…

八.吊打面试官系列-Tomcat优化-深入源码剖析Tomcat如何打破双亲委派

前言 上篇文章《Tomcat优化-深入Tomcat底层原理》我们从宏观上分析了一下Tomcat的顶层架构以及核心组件的执行流程。本篇文章我们从源码角度来分析Tomcat的类加载机制,且看它是如何打破JVM的ClassLoader双亲委派的 Tomcat ClassLoader 初始化 Tomcat的启动类是在…

【热门话题】实用Chrome命令:提升前端开发效率的利器

🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 ​💫个人格言: "如无必要,勿增实体" 文章目录 实用Chrome命令:提升前端开发效率的利器引言目录1. 快速打开Chrome …

基于C语言的贪吃蛇小游戏(简易版)

这篇博客会是对学习C语言成果的检测,为了实现贪吃蛇小游戏,我们用到的“工具”有:C语言函数、枚举、结构体、动态内存管理、预处理指令、链表、Win32 API等。 目录 1.简易版游戏效果 1.1欢迎界面 1.2游戏规则提示页面 1.3游戏进行页面 …

《挑战100个产品拆解:抖音》

抖音,作为当今社交媒体领域的明星产品,其背后的产品思维一直备受关注。在这篇文章中,我们将深入拆解抖音的产品思维,揭示其成功的秘密。 产品定位 1.产品是什么样的用户: 年轻人和青少年是抖音的主要用户群体。抖音…

20240506 深度学习高级技术点

1.基于BN层剪枝 基于Batch Normalization (BN)层进行剪枝是一种常用的模型压缩方法,特别是在卷积神经网络(CNNs)中。BN层在训练期间用于加速收敛和提高模型的泛化能力,而在剪枝过程中,BN层提供的统计信息(特别是均值(mean)和方差…

深度学习之基于YOLOv5电线电缆目标检测系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 项目简介:深度学习之基于YOLOv5电线电缆目标检测系统 本项目旨在利用深度学习技术,特别是基…

栈(使用顺序表构建)

P. S.:以下代码均在VS2019环境下测试,不代表所有编译器均可通过。 P. S.:测试代码均未展示头文件stdio.h的声明,使用时请自行添加。 目录 1、栈的概念2、栈的数组构建方法2.1 前言2.2 正文2.2.1 栈的初始化2.2.2 栈的销毁2.2.3 压…

工程绘图神器:Origin 2021软件安装与图像demo水印问题解决

目录 引言 正文 01-Origin软件简介 02-Origin软件安装 03-Origin软件复制图像带有水印问题解决 引言 注:本篇软件安装内容引用了微信公众号“软件管家”里的Origin 2021安装教程和…

[1726]java试飞任务规划管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 java试飞任务规划管理系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql…

环境配置、内核配置、字符型驱动设备

配置交叉编译环境 arm-linux-gcc -v交叉编译 1、将版本配置为4.4.3 2、内核一部分 外设(时钟配置、GPIO、串口) 3、配置环境(将板载设置为2440) ubuntu下查看函数原码 ctag -R 路径 设置完成后进主 函数将光标停在函数名字处按…