nb portal

管理 Portal 工作区。Portal 可以有独立的前端源码、入口和部署结果,nb portal 负责把 NocoBase 中的 Portal 记录、本地工作区和 source storage 串起来。

通常来说,Portal 的完整流程是:先创建本地工作区,再进入开发模式;开发完成后,把源码推送到 source storage,最后构建并部署。如果你接手的是已有 Portal,则可以先 pull 到本地,再继续开发。

用法

nb portal <command>

子命令

命令说明
nb portal config更新 Portal 源码配置
nb portal create基于模板创建本地 AI Portal
nb portal deploy构建并部署 Portal
nb portal destroy销毁 Portal 记录和已部署文件
nb portal dev启动 Portal 开发模式
nb portal info查看 Portal 记录和本地文件详情
nb portal list列出 Portal 记录和开发路径
nb portal pull拉取 Portal 源码到本地文件
nb portal push把本地 Portal 源码变更推送到 source storage

典型流程

创建一个名为 customer 的 Portal:

nb portal create customer -e dev --yes

启动本地开发模式:

nb portal dev customer -e dev --yes

查看本地工作区和远端记录状态:

nb portal info customer -e dev --yes
nb portal list -e dev --yes

推送源码并部署:

nb portal push customer -e dev --yes --message "Update customer portal"
nb portal deploy customer -e dev --yes

接手已有 Portal:

nb portal list -e dev --yes
nb portal pull customer -e dev --yes
nb portal dev customer -e dev --yes

切换源码保存方式:

nb portal config customer -e dev --yes --source-storage git --git-repo git@github.com:nocobase/customer-portal.git
nb portal push customer -e dev --yes --message "Move customer portal source to Git"

source storage

Portal 源码保存方式记录在远端 Portal 记录的 options 中:

方式说明
nocobase默认方式,源码由 NocoBase 侧的 source storage 管理
git源码保存到指定 Git 仓库,可以通过 --git-repo--git-branch--git-path 指定位置

如果只是快速创建和开发 Portal,默认的 nocobase 就够了。只有当你希望把 Portal 源码纳入已有 Git 仓库、走团队代码评审或 CI 流程时,才需要选择 git

nb portal config 负责更新远端 Portal 记录里的 source storage 和 Git 配置。开发工作区路径单独保存在 CLI env config 的 portals.<portal>.path 中,由 createpull --pathconfig --path 维护。

env 类型

nb portal 当前主要支持 localdockerhttp env:

env 类型说明
local本地工作区和应用 storage 在当前机器上,pull 会把源码拉取到开发路径,deploy 会从开发路径构建并同步部署产物
docker本地工作区通过 Docker volume 和应用共享,pull 会把源码拉取到开发路径,deploy 会从开发路径构建并同步部署产物
http通过 API 同步源码和部署产物,pull/push 会下载或上传源码归档

ssh env 在当前版本暂不支持 Portal 工作区管理。

开发和部署路径

Portal 开发工作区默认放在当前命令执行目录下:

./<portal>

你也可以在 createpullconfig 时通过 --path 指定开发路径。部署产物仍然存放在目标应用 storage 下:

<storagePath>/portals/<app>/<portal>

主应用的访问路径通常是:

<appPublicPath>/x/<portal>/

子应用的访问路径通常是:

<appPublicPath>/x/apps/<app>/<portal>/

env 确认

多数 nb portal 子命令都支持 --env--yes

参数说明
--env, -eCLI env 名称,省略时使用当前 env
--yes, -y当显式 --env 指向的 env 与当前 env 不一致时,跳过交互确认

如果你在脚本或 AI agent 场景下执行命令,建议显式传入 --env--yes,避免命令停在交互确认里。

相关命令