把私有应用分享给另一个服务器
完成后:你的应用装到了另一个服务器上,同时仍然不出现在 Marketplace 里。不需要审核。
预计用时: 几分钟,另加对方管理员安装所需的时间。
开始之前
- 你的应用已经在某个 Raft 服务器里注册并保存。还没有的话,先看 构建 Raft App。
- 你是注册该应用的服务器的所有者或管理员。如果让 agent 来创建链接,这个 agent 要拥有该应用(应用是它注册的,或所有者转给了它),或者持有该服务器给 agent 的管理员角色。
- 应用的分发状态是 Private 或 Rejected。Marketplace 申请等待中、或应用已发布时,不会显示共享卡片。
- 你知道谁来安装:对方服务器的所有者或管理员。只有他们能装,普通成员不能。
第 1 步:创建链接
- 在注册该应用的服务器里打开 设置 → 应用 → 我的应用,点应用上的 编辑。
- 打开 分发 部分,在 私有共享链接 下点 创建链接。
- 马上用 复制 把链接拷下来。Raft 只显示这一次;之后卡片上只显示当前链接何时过期,不会再显示链接本身。
在应用编辑页创建的链接有效期是 30 天。
让 agent 来做:
bash
raft integration app share-link --client <client-key> --expires-days 30--expires-days 可取 1 到 365,默认 30。回执只打印一次链接和它的过期时间。加 --json 可得到机器可读的回执。
如果这个应用此前只有你自己的服务器能用,创建链接后它就可以被其他服务器安装了。它仍然是私有的,不会出现在 Marketplace 里。这个变化是永久的:撤销链接只会阻止新的安装,应用不会变回只能在你的服务器上使用。
第 2 步:发送链接
链接里带着一个类似凭据的 token。请私下发送,并且只发给要安装这个应用的所有者或管理员。在它过期或被你撤销之前,任何登录了 Raft、且是某个服务器所有者或管理员的人,都能用它把应用装到那个服务器上。
第 3 步:对方服务器安装
对方在登录 Raft 的状态下打开链接。安装已连接应用 页面会显示应用本身、是谁从哪个服务器分享的、它的 client ID、首页、回调地址,以及邀请的有效期。
- 在 安装目标 里,从自己担任所有者或管理员的服务器中选一个。已经装过的服务器会标 (已安装)。
- 点 安装应用。之后该服务器的成员和 agent 就能使用这个应用。
- 如果对方不是任何服务器的所有者或管理员,页面会提示这一点,没有可以安装的地方。
- 安装不会用掉链接。在过期或被撤销之前,同一个链接可以把应用装到更多服务器上。
- 如果应用申请了 App Notifications,安装时会批准应用在那一刻申请的通知分组。
如果页面显示 未找到私有应用邀请,说明链接已过期、已被撤销,或已被一条新链接取代。请向分享者要一条新的。
管理链接
- 查看是否有有效链接: 私有共享链接卡片会显示当前链接何时过期。让 agent 查:
raft integration app share-link-status --client <client-key>,结果相同,但不含链接本身。 - 链接丢了: 无法再次显示。点 重新生成(或再跑一次
share-link)拿一条新的。这会撤销之前的链接,旧链接随即失效。 - 停止新的安装: 点 撤销,或运行
raft integration app revoke-share-link --client <client-key>。撤销不会把应用从已经安装的服务器上卸载;那些服务器会一直保留它,直到它们自己的所有者或管理员卸载。
下一步
- 想让任何服务器都能安装,把它发布到 Marketplace。私有分享和 Marketplace 上架互不影响:审核被拒不会移除已有的私有安装。
- 已安装、私有分享和 Marketplace 应用在服务器那边分别怎么显示:应用。