应用开发并通过测试后,可以使用 Docker、app-installer 或 NocoBase Studio 部署。本栏目适用于自己的 NocoBase Core 应用;三篇指南使用任务应用作为操作示例,每篇都提供使用 Agent和不使用 Agent两条路径。
如果你刚完成搭建第一个应用,选择下面一种方式上线即可,不需要依次部署三遍。
如何选择
| 方式 | 适用场景 | 继续阅读 |
|---|---|---|
| Docker | 使用容器运行应用,通过镜像和持久化挂载管理部署 | 使用 Docker 部署 |
| app-installer | 有自己的服务器,希望工具管理安装、pm2 进程和应用更新 | 使用 app-installer 部署 |
| NocoBase Studio | 已有 Studio,通过应用、环境和发布记录管理部署 | 部署到 Studio |
已有 Studio 时,可以沿用它的环境和发布流程;由自己管理服务器时,根据现有运维方式选择 Docker 或 app-installer。目标平台、数据库和存储方案应在构建前确定,具体准备步骤见对应指南。
部署前准备什么
- 可构建的源码:应用已通过测试,依赖和锁文件确定,构建平台与运行环境匹配。
- 明确的运行环境:服务器或 Studio 环境、应用目录、端口、访问地址及所需权限已确定;域名、HTTPS 和反向代理按实际环境配置。
- 独立的运行配置:准备数据库、管理员和应用所需服务配置,保存生成的密钥,不把含密钥的配置提交到仓库。
- 持久化的数据:确认数据库和文件存储位置,建立备份与恢复方式。
构建产物包含页面、接口、迁移和运行依赖,不会自动携带开发数据库、上传文件或运行密钥。首次使用新数据库时,迁移和必需种子会执行;当前入门示例会初始化任务角色,但不会复制开发环境中的任务、团队用户或角色分配。通过管理页面创建的其他角色与授权也不会自动迁入;需要保留这些数据时,应另行安排数据迁移。
直接运行 node dist/server/standalone.js 可以检查构建产物,正式部署还需要安排进程托管、配置管理与数据持久化。
首次部署与发布新版本
| 首次部署 | 发布新版本 |
|---|---|
| 创建应用或安装目录,准备运行配置 | 使用已有应用和部署目录,保留稳定密钥 |
| 在新数据库中执行迁移及必要初始化,或按计划迁入已有数据 | 备份已有数据,检查并执行新增迁移 |
| 验证登录、业务功能、权限与数据持久化 | 同时验证新功能、旧数据和原有权限 |
后续发布业务版本时,修改源码、通过测试、重新构建,再按原部署方式更新。每篇指南都有“部署新版本”章节;发布应用新版本汇总了三种方式更新时的差别。
如果要更新框架及相关依赖,先完成升级 NocoBase Core,验证兼容性后再部署。
发布后检查与恢复
部署后检查实际访问地址、登录、主要业务读写、普通用户权限,以及重启后的数据保留。构建成功、上传成功或健康检查通过,都不能单独代替业务验证。
发布前保留旧版构建、匹配的配置,以及可恢复的数据库和文件备份。回退程序版本不会自动撤销数据库迁移或业务写入;旧程序不能使用新表结构时,需要恢复匹配的数据,并处理备份之后的写入。具体更新和恢复操作按所选方式的指南执行。
