# 环境部署

# 准备工作

JDK >= 1.8 (推荐1.8版本)
Mysql >= 5.7.0 (推荐5.7版本)
Redis >= 3.0
Maven >= 3.5
Node >= 12
nacos >= 2.x.x
sentinel >= 1.6.0

# 运行系统

# 后端运行

1、前往GitHub下载页面https://github.com/twelvet-s/twelvet (opens new window)下载解压到工作目录

2、导入到Idea,此处省略。

3、创建数据库twelvet并导入数据脚本twelvet.sql(必须)

4、创建数据库twelvet_job并导入twelvet_job.sql(可选)

4、创建数据库twelvet_nacos并导入数据脚本twelvet_nacos.sql(必须)

5、配置nacos持久化,修改conf/application.properties文件,增加支持mysql数据源配置

# db mysql
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://localhost:3306/twelvet_nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=root
db.password=password

提示

配置文件application.properties是在下载的nacos-serverconf目录下。

默认配置单机模式(注意更改启动参数为set MODE="standalone")nacos集群/多集群部署模式参考 (Nacos支持三种部署模式 (opens new window) (opens new window))

6、打开运行基础模块(启动没有先后顺序)

  • TWTGatewayApp (网关模块 必须
  • TWTAuthApp (认证模块 必须
  • TWTSystemApp (系统模块 必须
  • TWTMonitorApp (监控中心 可选)
  • TWTGenApp (代码生成 可选)
  • TWTJobApp (定时任务 可选)
  • TWTFileApp (文件服务 可选)

7、集成seata分布式事务(可选配置,默认不启用)

创建数据库twelvet-seata并导入数据脚本twelvet-seata.sql

参考集成nacos配置中心(等待更新) (opens new window)

提示

运行前需要先启动nacos,运行成功可以通过(http://localhost:88 (opens new window))访问API

继续参考下面步骤部署twelvet-ui前端,然后通过前端地址来访问。

# 前端运行

# 进入项目目录
cd twelvet-ui

# 安装依赖
npm i -g pnpm --registry=https://registry.npmmirror.com
pnpm install


# 本地开发 启动项目
pnpm start

4、打开浏览器,输入:(http://localhost:8000 (opens new window)) 默认账户/密码 `admin/123456) 若能正确展示登录页面,并能成功登录,菜单及页面展示正常,则表明环境搭建成功

建议使用Git克隆,因为克隆的方式可以和TwelveT随时保持更新同步。使用Git命令克隆

git clone https://github.com/twelvet-s/twelvet

提示

因为本项目是前后端完全分离的,所以需要前后端都单独启动好,才能进行访问。

前端安装完Node后,最好设置下淘宝的镜像源,不建议使用cnpm(可能会出现奇怪的问题)

# 部署系统

提示

因为本项目是前后端分离的,所以需要前后端都部署好,才能进行访问

# 后端部署

  • 打包工程文件

twelvet项目的main目录下执行mvn clean && mvn install

提示

不同模块版本会生成在twelvet/twelvet-xxxx模块下target文件夹

  • 部署工程文件

1、jar部署方式 使用命令行执行:java –jar twelvet-xxxx.jar

2、docker部署方式(请等待完善docker-compose)

mv twelvet-xxx/target/twelvet-xxx-version-xxx.jar ../twelvet-xxx.jar
docker build -t twelvet-xxx.jar .
docker run -d --name twelvet-xxx --network host twelvet-xxx.jar

# 前端部署

当项目开发完毕,只需要运行一行命令就可以打包你的应用

# 打包正式环境
pnpm build

构建打包成功之后,会在根目录生成 dist 文件夹,里面就是构建打包好的文件,通常是 ***.js***.cssindex.html 等静态文件。

通常情况下 dist 文件夹的静态文件发布到你的 nginx 或者静态服务器即可,其中的 index.html 是后台服务的入口页面。

详细的nginx配置请查看官方文档 (opens new window)

# 常见问题

  1. 如果使用Mac需要修改nacos配置twelvet-file-dev.yml文件路径path
  2. 如果使用Linux 提示表不存在,设置大小写敏感配置在/etc/my.cnf添加lower_case_table_names=1,重启MYSQL服务
  3. 如果提示当前权限不足,无法写入文件请检查twelvet-file-dev.yml中的path路径或logback.xml中的log.path路径是否有可读可写操作权限

如遇到无法解决的问题请到https://github.com/twelvet-s/twelvet/issues (opens new window)反馈,会不定时进行解答。