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

news2024/11/24 3:12:37

                  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.coloradmin.cn/o/1672330.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【代码随想录】【动态规划】背包问题 - 完全背包

完全背包 模板:完全背包问题 问题描述 完全背包问题与01背包问题唯一的区别在于: 在01背包中:每个物品只有一个,要么放入背包,要么不放入背包在完全背包中:每个物品有无限多个,可以不放入背…

使用Eigen将经纬度、高程、偏北角转成变换矩阵

目录 1、前言 2、示例 3、代码解析 4、垂直于给定点的切平面变换 5、代码解析 1、前言 在地球表面进行刚体变换时候,要将具有经纬度、高程和偏北角的坐标信息转换为变换矩阵表达,首先需要了解坐标系之间的转换关系。 通常,我们会将经纬…

C++进阶:哈希(1)

目录 1. 简介unordered_set与unordered_map2. 哈希表(散列)2.1 哈希表的引入2.2 闭散列的除留余数法2.2.1 前置知识补充与描述2.2.2 闭散列哈希表实现 2.3 开散列的哈希桶2.3.1 结构描述2.3.2 开散列哈希桶实现2.3.3 哈希桶的迭代器与key值处理仿函数 3.…

第五届电子通讯与人工智能学术会议(ICECAI 2024, 5/31-6/2)

目录 1. 会议官方2. 会议新闻中华人民共和国教育部新闻 3. 出版历史4. 大会简介5. 主办单位与嘉宾主办单位承办单位主讲嘉宾组委会 6. 征稿主题7. 论文出版8. 参会说明 1. 会议官方 2024 5th International Conference on Electronic communication and Artificial Intelligenc…

2024年抖店什么类目赚钱?这八个类目最赚钱,想开店的快来瞅瞅!

哈喽~我是电商月月 做抖音小店的商家都知道,选品是非常重要的 那什么样的商品类型赚钱,哪些商品又适合新手操作呢? 今天我就给大家推荐几个热销类目,特别是最后两个,下半年说不定会小爆一把哦 一.日用百货 这个类…

MySQl删除数据后释放空间

在MySQL中,当你删除表中的数据时,空间通常不会自动释放回操作系统。这是因为MySQL为了性能而保留了这些空间。如果你确实需要释放这些空间,可以使用OPTIMIZE TABLE命令,它会重建表并释放未使用的空间。 sqlOPTIMIZE TABLE your_t…

为什么3d重制变换模型会变形?---模大狮模型网

3D建模和渲染过程中,设计师经常会遇到一个让人头疼的问题,那就是模型在进行重制变换后出现的意外变形。这种变形不仅影响了模型的外观和质量,也给设计工作带来了额外的麻烦。本文将深入探讨3D模型进行重制变换后出现变形的原因,帮…

Pytorch基础:torch.cuda.set_device函数

相关阅读 Pytorch基础https://blog.csdn.net/weixin_45791458/category_12457644.html?spm1001.2014.3001.5482 torch.cuda.set_device函数用于设置当前使用的cuda设备,在当拥有多个可用的GPU且能被pytorch识别的cuda设备情况下(环境变量CUDA_VISIBLE_…

【软考高项】四十六、项目管理科学计算之运筹学

1、线性规划问题 解题思路: 先把文字转化成图表 最快方式应该是把第一题的4个答案直接代入计算,很快得知X2时利润最大。 A0时,利润5*630 A2时,利润2*25*634 A4时,利润4*23*523 A6时,利润4*2(因为甲的…

【STM32HAL库】DAC输出0-3.3v

一、简要介绍一下DAC DAC也有分辨率,转换时间,精度等 分辨率常见为8或12位的 转换时间F1,F4,F7都是3us左右,而H7系列是1.7us 1.DAC框图 2.数据格式(对齐方式) 3.触发源 4.可以发送DMA请求 注意&#xff…

train_gpt2.c

llm.c/train_gpt2.c at master karpathy/llm.c (github.com) 源码 /* This file trains the GPT-2 model. This version is the clean, minimal, reference. As such: - it runs on CPU. - it does not make the code too complex; it is readable. - it does not use any p…

代码随想录第五十一天|最长递增子序列、最长连续递增序列、最长重复子数组

题目链接:. - 力扣(LeetCode) 题目链接:. - 力扣(LeetCode) 题目链接:. - 力扣(LeetCode)

基于STM32H750的DCMI接口OV5640摄像头条码识别

好久没写文章了,闭上眼睛,算了一下,大概有十年了,近来接到一个项目,需要做条码识别,客户要求用MCU做,理由成本低、价格可控。 于是乎,打开某宝软件,搜索后发现STM32H7/ST…

Pygame简单入门教程(绘制Rect、控制移动、碰撞检测、Github项目源代码)

Pygame简明教程 引言:本教程中的源码已上传个人Github: GItHub链接 视频教程推荐:YouTube教程–有点过于简单了 官方文档推荐:虽然写的一般,但还是推荐! Navigator~ Pygame简明教程安装pygame一、代码框架二、案件输入…

YOLOv9-20240507周更说明|更新MobileNetv4等多种轻量化主干

专栏地址:目前售价售价69.9,改进点70 专栏介绍:YOLOv9改进系列 | 包含深度学习最新创新,助力高效涨点!!! 本周已更新说明: ### ⭐⭐更新时间:2024/5/12⭐⭐ 1. YOLOv9…

android studio apt代码编写实战

之所以试一下apt代码的编写,是因为发现几年前写的工程,在新的android studio中debug apt代码时,一直连不上debug环境,提示报错 Unable to open debugger port (localhost:5005): java.net.ConnectException "Connection refu…

C++之Eigen库基本使用(下)

1、常见变换 Eigen::Matrix3d //旋转矩阵(3*3) Eigen::AngleAxisd //旋转向量(3*1) Eigen::Vector3d //欧拉角(3*1) Eigen::Quaterniond //四元数(4*1) Eigen::Isom…

Java中的maven的安装和配置

maven的作用 依赖管理 方便快捷的管理项目依赖的资源,避免版本冲突问题 统一项目管理 提供标准,统一的项目结构 项目构建 标准跨平台(Linux、windows、MacOS)的自动化项目构建方式 maven的安装和配置 在maven官网下载maven Ma…

牛客热题:比较版本号

📟作者主页:慢热的陕西人 🌴专栏链接:力扣刷题日记 📣欢迎各位大佬👍点赞🔥关注🚓收藏,🍉留言 文章目录 牛客热题:比较版本号题目链接方法一:暴力…

解决kali linux ssh连接失败

kali linux 默认ssh是禁止root登录的 为了通过 SSH 进入你的 Kali Linux 系统,你可以有两个不同的选择。第一个选择是创建一个新的非特权用户然后使用它的身份来登录。第二个选择,你可以以 root 用户访问 SSH 。为了实现这件事,需要在SSH 配…