把散落的站点搬进 Nexus

第 6 课 · 共 7 课 约 8 分钟

搬什么、搬到哪、七步怎么走、每一步怎么撤回。

本课目标

读完这一课,你将能够

  • 说出独立报告站点搬进 Nexus 后,账号、数据、发布、权限各落在哪里
  • 按七步迁一个站点,并说出每一步怎么撤回
  • 说出版本状态和「一律登录」对迁移意味着什么

一个站点,就是一套账号、一个库、一条发布流程

团队常常各自建一个报告站点:智能体每隔一阵把生成好的页面上传,员工登录后查看。做法相近,可账号、数据库和发布流程互不相通。建一次,就要养一次。

独立的报告站点Nexus 应用
账号站点自建登录AIDC 账号,一律登录
数据站点自己的数据库,整页 HTML 存进去数据在 Semantic,页面只调 API
发布覆盖上传,没有版本test 通道到正式通道,每个版本有编号和记录
权限站内各自设置开放程度四档、三种角色
用量独立的服务器和账单计算分钟等上限,用量看得见

搬什么,搬到哪

站点上的每一样东西,在 Nexus 里都有对应物:

搬到 Nexus 里的怎么搬
报告页(整页 HTML)应用:界面只调 API,数据在 Semantic先在 Semantic 里建好对象类型,再发应用
跨部门共享的数据表Semantic 里的对象类型,加访问档位和动作表结构变成属性,谁能用变成访问设置
用户和账号AIDC 账号和成员用 aidc members import 批量导入
权限和分享开放程度四档、三种角色按部门和岗位映射
域名和旧链接保留域名,旧链接指向新的应用地址切流当天做
上传用的定时任务停用应用上线并对账之后

顺序是先数据、后页面:先让 Semantic 里有对的对象,再让应用去读,最后才停旧的上传。页面再好看,数据不对也没用。

七步,每步可撤回

  1. 盘点

    列出站点上每一类内容、谁在用、多久更新一次。

  2. 建对象类型

    把内容背后的数据建成对象类型,先只覆盖读得最多的。

  3. 接发布端

    装发布端把数据源接进来,镜像与原数据连续两轮对账没有差异。

  4. 发应用

    进 test 通道试用,没问题再发布到正式通道。

  5. 并行对账

    新旧并行一段时间,比对关键数字。旧任务暂停而不是删除,保留两周。

  6. 切流

    域名或旧链接指向新的应用地址,通知使用者。

  7. 下线旧站

    先只读保留一段时间,再下线。

导入成员、进 test 通道、发布到正式通道,用到下面几条命令。--dry-run 只看每个人会怎么处理,不写入:

aidc members import users.json --source old-portal --dry-run
aidc members import users.json --source old-portal
aidc app deploy ./report-app
aidc app publish report-app

每一步都有退路:发布端可以停,应用可以回滚到上一个版本,旧站在切流之前始终没动。

版本、通道与登录

应用有两条通道:test 是本公司开发者的预览,正式通道(Nexus)全公司可用;正式通道只接受进过 test 的版本,测过什么发什么。同一个版本号只对应一份内容,内容变了就要升版本。每个版本都有状态:

  • 已上线:正式通道当前的版本。
  • 测试中:test 通道当前的版本,还没上线。
  • 已被替换:比线上版本旧,被新版本换下。
  • 已回滚:上过线,后来退回到更早的版本。

还有一条:用 SDK 或应用做任何事都要先登录,公开链接也不例外。迁移时,原来靠站点自己登录的人,需要有 AIDC 账号。成员可以批量导入,每人占公司 License 的一个席位(先用 --dry-run 看够不够);本人第一次用这个邮箱登录、输入验证码,就认领了账号。

要点

  • 独立站点等于一套账号、一个库、一条发布流程;建一次,就要养一次。
  • 报告页变成应用,共享数据表变成对象类型,用户变成成员,权限变成四档三角色。
  • 先数据、后页面;先并行对账,再切流,最后才下线旧站。
  • 旧任务暂停而不是删除,保留两周;发布端可以停,应用可以回滚。
  • 每个版本有编号和状态;用应用要先登录,公开链接也一样。

练一练

画出一个站点的映射表

选你团队里最小的一个报告站点,把这一课的表填一遍。

列出站点上的内容类型,逐项写出它在 Nexus 里落在哪里。

小测

选一个答案,马上看解析。

Q1迁移时为什么先建对象类型、后做页面?

Q2新旧站并行对账期间,旧的上传任务应该怎么处理?

Q3线上是 v1.1.0,v1.0.4 在版本列表里会显示为?

延伸阅读