开发人员

获取源码

RB 源码托关于 GitHub,主页是 getrebuild/rebuild 。如果你只想使用而非获取源码进行二次开发,可以直接下载最新的 发行版本 后进行 安装

环境准备

RB 对于开发环境的要求很简单,由于使用 Java 开发,因此可以运行在几乎所有操作系统上。请按如下清单准备:

  • JDK 1.8+
  • MySQL 5.5+
  • Redis 3.0+(非必须,可以使用内建的 Ehcache 缓存)
  • Tomcat 8.0+
  • Apache Maven 3.3+
  • Eclipse (for JEE) 或 IDEA

注意:RB 目前仅支持 MySQL8.0 的 mysql_native_password 认证模式

注意:目前不支持 JDK14 版本,因为 JDK14 删除了部分 Deprecated 包,详见 http://jdk.java.net/14/release-notes#removed

开发部署

1. 启动参数

RB 启动有两个重要参数通过命令行指定,分别为 rbdevrbpass ,两者的具体解释如下:

  1. rbdev 用于标识是否为开发模式,开发环境下请将其设置为 trueyes
  2. rbpass 将作为解密/加密系统参数的 AES key 使用

注意:如未指定 rbdevtrueyes,首次启动会进入 安装模式

完整的命令行参数如下

-Drbdev=true -Drbpass=YOURPASSKEY -Dfile.encoding=UTF-8

2. 初始化数据库

在源码根目录下找到 src/main/resources/scripts/db-init.sql 文件,此数据库脚本文件包括三部分:

  1. 数据库和用户(请注意此部分默认是被注释的,首次使用请取消注释
  2. 初始数据

直接将此文件导入到 MySQL 数据库中使用。你也可以根据自己的需要修改数据库名称及用户名、密码,但请注意在修改后需要同时修改位于 src/main/resources/jdbc.properties 文件内的相关参数。

db.url=jdbc:mysql://127.0.0.1:3306/YOUR_DBNAME?useUnicode=true&characterEncoding=UTF-8&useSSL=false&zeroDateTimeBehavior=convertToNull
db.user=YOUR_DBUSER
db.passwd=YOUR_DBPASSWORD

3. 修改第三方服务配置

RB 集成了一些第三方服务,如缓存系统、云存储、短信邮件等。他们的配置位于 src/main/resources/application.properties 文件内。请特别注意以 .aes 结尾的配置项,它用于标识此项是否使用了 AES 加密(详情参考文中 启动参数 章节),系统在启动时会自动对其进行解密。如填写的值为明文,请将 .aes 移除。

请将相应的第三方服务账号替换为自己的,如果暂时没有,请将相应的项移除(或值部分留空)。

# Cloud Storage - https://www.qiniu.com/
StorageURL=//qn-cdn.getrebuild.com/
StorageBucket=rb-cdn
StorageApiKey.aes=zYkDunIsyaZd71rZoW1KPtJPIutYBsBqNaZxpE+4xNl9urgpG+Py0Q0w5m2+Z72e
StorageApiSecret.aes=Ke7e7qzT+5F2HC3C/89a5Aq+UopTPHygiSpPfnQjnSrpxgUtiSlauQbPnowtl+ew

# Cache - https://redis.io/
# Use built-in ehcache if redis not defined
CacheHost=127.0.0.1
CachePort=16379
CachePassword.aes=vXwBKYUosMpJRO9jeG9+IA==

# SMS - https://www.mysubmail.com/
SmsUser=30912
SmsPassword.aes=w07FOXTgIF5vuU2uWOLHhgeBv2dSExddnQQ8f534GXMKxKZT7YVYoWKjP8gPrEIS
SmsSign=REBUILD

# Mail - https://www.mysubmail.com/
MailUser=14022
MailPassword.aes=vRnLDh4PVen2faMH+itQuFjzwBcWtCTO6qslkF36VAoKxKZT7YVYoWKjP8gPrEIS
MailAddr=hi@smtp.getrebuild.com
MailName=REBUILD

4. 导入 Eclipse/IDEA 进行开发

直接使用 Eclipse(for JEE) 或 IDEA 将其作为 Maven 项目导入即可。

构建安装包

RB 是一个标准的 Maven 项目,因此你可以使用 mvn 命令进行构建。

# build
mvn clean package
# or tests
mvn clean test -DskipTests=false -Drbpass=YOURPASSKEY

构建成功后将生成一个标准的 WAR 包,它位于 target/rebuild.war ,请将其复制到 Tomcat 的 webapps 目录下,并启动 Tomcat。现在你可以通过 http://localhost:[PORT]/rebuild/ 进行访问。默认用户名及密码均为 admin

快速预览

RB 内置了一个 Jetty 服务端插件,你可以直接启动快速预览效果。

mvn clean jetty:run -Drbdev=true -Drbpass=YOURPASSKEY

启动完成后可以通过 http://127.0.0.1:18080/rebuild/ 进行访问。请注意此功能仅为快速预览而设计,任何时候都不应该将其作为开发或是产品部署使用。

技术说明

主要框架

框架 作用 备注
spring (4.x) AOP/Context 等
spring MVC Controll
persist4j 持久层 动态元数据,AJQL 支持
commons 工具包
druid 数据库驱动
okhttp3 网络调用服务
quartz 任务调度
easyexcel/POI Excel 解析与报表生成
flexmark Markdown 支持
bootstrap (4.x) 基础样式库 进行过深度定制
react (16.x) 前端组件支持 大部分页面组件都由此编写
jqurty (3.x) 前端支持
babel (6.x) jsx 转码(开发环境)
echarts (3.x) 图表组件

更多第三方框架后端参见 pom.xml 文件, 前端参见 lib 目录。

架构总览

遇到问题

如遇问题,欢迎 issuePR

编辑更新时间 6/11/2020, 10:46:28 AM