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.mzph.cn/news/837577.shtml

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

相关文章

”数组指针变量与函数指针变量“宝典

大家好呀,我又来啦!最近我很高效对不对,嘿嘿,被我自己厉害到了。 这一节的内容还是关于指针的,比上一期稍微有点难,加油!!! 点赞收藏加关注,追番永远不迷路…

AI大事记(持续更新)

文章目录 前言 一、人工智能AI 1.基本概念 2.相关领域 2.1基础设施 2.2大模型 2.3大模型应用 二、大事记 2024年 2024-05-14 GPT-4o发布 2024-02-15 Sora发布 2023年 2023-03-14 GPT-4.0发布 2022年 2022-11-30 ChatGPT发布 总结 前言 2022年11月30日openai的…

从零开始学习Linux(6)----进程控制

1.环境变量 环境变量一般是指在操作系统中用来指定操作系统运行环境的一些参数,我们在编写C/C代码时,链接时我们不知道我们链接的动态静态库在哪里,但可以连接成功,原因是环境变量帮助编译器进行查找,环境变量通常具有…

【爬虫之scrapy框架——尚硅谷(学习笔记two)--爬取电影天堂(基本步骤)】

爬虫之scrapy框架--爬取电影天堂——解释多页爬取函数编写逻辑 (1)爬虫文件创建(2)检查网址是否正确(3)检查反爬(3.1) 简写输出语句,检查是否反爬(3.2&#x…

电力系统潮流计算的计算机算法(一)——网络方程、功率方程和节点分类

本篇为本科课程《电力系统稳态分析》的笔记。 本篇为这一章的第一篇笔记。下一篇传送门。 实际中的大规模电力系统包含成百上千个节点、发电机组和负荷,网络是复杂的,需要建立复杂电力系统的同一潮流数学模型,借助计算机进行求解。 简介 …

免费Premiere模板,几何图形元素动画视频幻灯片模板素材下载

Premiere Pro模板,几何图形元素动画视频幻灯片模板 ,组织良好,易于自定义。包括PDF教程。 项目特点: 使用Adobe Premiere Pro 2021及以上版本。 19201080全高清。 不需要插件。 包括帮助视频。 免费下载:https://prmu…

Fabric实现多GPU运行

官方的将pytorch转换为fabric简单分为五个步骤: 步骤 1: 在训练代码的开头创建 Fabric 对象 from lightning.fabric import Fabricfabric Fabric() 步骤 2: 如果打算使用多个设备(例如多 GPU),就调用…

高级个人主页

高级个人主页 效果图部分代码领取源码下期更新预报 效果图 部分代码 <!DOCTYPE html> <html lang"en"><head><meta charset"utf-8" name"viewport" content"widthdevice-width, initial-scale1, maximum-scale1, use…

ESP32重要库示例详解(四):获取NTP时间之time库

在物联网项目中&#xff0c;时间同步和管理是至关重要的功能之一&#xff0c;特别是在需要执行定时任务或记录事件时间戳的场景下。Arduino平台通过其内置的<time.h>库提供了强大的时间处理能力&#xff0c;使得开发者能够方便地与网络时间协议&#xff08;NTP&#xff0…

PDF文件转换为CAD的方法

有时候我们收到一个PDF格式的设计图纸&#xff0c;但还需要进行编辑或修改时&#xff0c;就必须先将PDF文件转换回CAD格式。分享两个将PDF转换回CAD的方法&#xff0c;一个用到在线网站&#xff0c;一个用到PC软件&#xff0c;大家根据情况选择就可以了。 ☞在线CAD网站转换 …

css超出部分省略(单行、多行,多种方法实现)

HTML <p class"text">这是一行测试数据,这是一行测试数据,这是二行测试数据,这是一行测试数据,这是三行测试数据,这是四行测试数据</p>1.单行 .text{width: 200px;border: 1px solid #000000;white-space: nowrap; /* 控制元素不换行 */overflow: hi…

Django图书馆综合项目-学习(2)

接下来我们来实现一下图书管理系统的一些相关功能 1.在书籍的book_index.html中有一个"查看所有书毂"的超链接按钮&#xff0c;点击进入书籍列表book_list.html页面. 这边我们使用之前创建的命名空间去创建超连接 这里的book 是在根路由创建的namespacelist是在bo…

6. RedHat认证-基于公钥的认证方式

6. RedHat认证-基于公钥的认证方式 主要学习客户端访问服务端的时候&#xff0c;免密登录这一方式 注意: 免密登录只是基于公钥认证的一个附带属性(基于公钥认证的方式更加安全&#xff0c;防止黑客暴力破解) 第一步&#xff1a;将客户端生成的秘钥传送到服务器 在客户端通过…

2024中国(厦门)国际医用消毒及感控设备展览会

2024中国&#xff08;厦门&#xff09;国际医用消毒及感控设备展览会 2024 China (Xiamen) International Medical Disinfection And Infection Control Exhibition 致力于打造医用消毒及感控设备产业采购一站式平台 时 间&#xff1a;2024年11月1-3日 November 1-3, 2024 …

一文扫盲(13):电商管理系统的功能模块和设计要点

电商管理系统是一种用于管理和运营电子商务平台的软件系统。它提供了一系列功能模块&#xff0c;帮助企业进行商品管理、订单管理、会员管理、营销推广、数据分析等工作。本文将从以下四个方面介绍电商管理系统。 一、什么是电商管理系统 电商管理系统是一种集成了各种功能模块…

免费的集成组件有哪些?

集成组件是指将多个软件或系统进行整合&#xff0c;以实现更高效、更可靠的数据处理和管理。在数据管理和分析领域&#xff0c;集成组件是不可或缺的工具之一。 在当今高度信息化的时代&#xff0c;集成组件在各行各业的应用中扮演着举足轻重的角色。集成组件能够将不同来源的…

企业安全必备利器:专业级加密软件介绍

随着信息技术的迅猛发展&#xff0c;数据安全问题日益凸显&#xff0c;专业级加密软件应运而生&#xff0c;成为保护数据安全的重要工具。本文将对专业级加密软件进行概述&#xff0c;分析其特点、应用场景及分享。 一、专业级加密软件概述 专业级加密软件是指那些采用高级加密…

三分钟了解计算机网络核心概念-数据链路层和物理层

计算机网络数据链路层和物理层 节点&#xff1a;一般指链路层协议中的设备。 链路&#xff1a;一般把沿着通信路径连接相邻节点的通信信道称为链路。 MAC 协议&#xff1a;媒体访问控制协议&#xff0c;它规定了帧在链路上传输的规则。 奇偶校验位&#xff1a;一种差错检测方…

uniapp怎么使用jsx

安装vitejs/plugin-vue-jsx npm install vitejs/plugin-vue-jsx -Dvite.config.js配置 import { defineConfig } from "vite"; import uni from "dcloudio/vite-plugin-uni"; import vueJsx from vitejs/plugin-vue-jsxexport default defineConfig({plu…

upload-labs靶场通关详解(1-15)

1.pass-01 查看源代码 是js&#xff0c;属于前端校验 可以通过禁用js来上传文件 2.pass-02 根据提示是MIME绕过 MIME&#xff1a;是设定某种扩展名的文件 用一种应用程序来打开的方式类型&#xff0c;当该扩展名文件被访问的时候&#xff0c;浏览器会自动使用指定应用程序来…