技术交流

学习资料

立即试用 商务报价
社区版
社区版 专业版 云服务 Edge Edge PE 网关 授权服务 Trendz分析 Mobile 应用程序 Mobile PE应用程序
安装 > 本地环境 > 源代码
入门 文档 指南
架构 API 常见问题

本页目录

源代安装

本指南将帮助你在Ubuntu 20.04和CentOS 7/8上进行源代码下载和安装ThingsBoard。

必备工具

本节包含生成工具的安装说明。

Java

ThingsBoard是使用Java8生成的参见安装说明

Maven

ThingsBoard生成需要Maven 3.1.0+。

1
sudo apt-get install maven
1
sudo yum install maven

请注意maven安装可能会在某些Linux机器上将Java7设置为默认的JVM参见安装说明解决此问题。

源码

注意:在Windows计算机上构建Docker镜像

构建Docker镜像某些脚本、配置文件和源将成为Docker镜像的一部分内容必须具有LF行结尾所以在克隆存储库之前设置Git core.autocrlf配置选项。

例如:全局设置core.autocrlf

git config --global core.autocrlf input

你可以从github克隆项目的源代码。

1
2
3
# checkout latest release branch
git clone -b release-3.5 git@github.com:thingsboard/thingsboard.git
cd thingsboard

编译

在thingboard文件夹执行如下命令并生成项目:

1
mvn clean install -DskipTests

镜像

注意:在Windows计算机上构建Docker镜像

构建Docker镜像某些脚本、配置文件和源将成为Docker镜像的一部分内容必须具有LF行结尾所以在克隆存储库之前设置Git core.autocrlf配置选项。

例如:全局设置core.autocrlf

git config --global core.autocrlf input

请确定已经安装Docker

1
mvn clean install -DskipTests -Ddockerfile.skip=false

安装包

你可以在target文件夹中找到debian、rpm和windows软件包:

1
application/target

测试

我们使用dockerdocker-compose来运行各种集成和黑盒测试

请用非root用户身份管理docker正确运行测试。

master分支和release分支已经测试因此可以跳过测试并避免安装docker。

运行所有单元测试和集成测试:

1
mvn clean install

运行黑盒测试请参阅自述文档

硬件配置AMD锐龙6GB内存进行测试实际时间可能会有所不同,具体取决于硬件性能。

技巧

Thingsboard很容易在全新的环境中从源代码构建。

以下是提升构建体验的一些技巧:

  • 清理maven缓存
    1
    
    rm -rf ~/.m2/repository
    
  • 清理gradle缓存
    1
    
    rm -rf ~/.gradle/caches/
    
  • 清理node缓存
    1
    
    rm -rf ui-ngx/node_modules
    
  • 编译
    1
    
    mvn -T 0.8C license:format clean install -DskipTests -Ddockerfile.skip=false
    

运行时错误

  • 如果在运行本地构建的Docker镜像时看到此类错误请在LF文件结尾的情况下重新克隆存储库并重新生成镜像,修复此问题请阅读源代码部份。
1
Standard_init_linux.go:175 exec user process caused no such file