跳到主要内容

ARC 2.0.0-beta.28

发布与部署

严格区分本地 daemon 注册、本地 DID Space 发布、远程 --server 发布与 Pages 部署——未验证路径标为 experimental。

发布与部署不能替代本地直接运行。日常验收用本地 run。只有任务是发布、分发或远程托管时才进入发布路径。

路径矩阵(严格)

路径命令目标认证 / 密钥本板状态
本地 servearc blocklet run <dir> · arc service start --blocklet <dir>本地 daemon仅本地进程已验证2.0.0-beta.28
本地 daemon 注册arc deploy <path>(无发布标志)运行中本地 daemon 额外目录本地优先 serve 命令;注册可对环境敏感
本地 DID Space 发布arc deploy <path> --publish开发者本地 DID Space /blocklets/<id>/本地 snapshot 密钥(见下)部分——命令面真实;隔离 home 需要密钥
远程 DID Space 发布arc deploy <path> --server <url> [--token]经 RPC 的远程 DID Space始终需要浏览器/passkey、vault 或 --tokenExperimental / 未验证(本板未 E2E)
Pages 一步arc blocklet deploy [dir]本地暂存 + 可选 Cloudflare Pages--cloud=cf 时需 CF 凭证平台路径——在你的环境验证
Instance 子命令arc blocklet instance …已部署 Pages instance平台高级;对照实时 CLI help
Fleetarc blocklet fleet …多 blocklet 聚合平台高级 / monorepo 运维

先本地验收

bash
arc dsl validate ./my-app
arc blocklet check ./my-app --profile <profile>
arc blocklet run ./my-app
# 浏览器验收

然后才选择发布路径。

本地 DID Space 发布(--publish

意图语义(CLI help 与 ARC deploy 模块):

  • 写入本地开发者 DID Space(无网络、无浏览器认证)。
  • arc deploy show / list --published 读取该本地注册表路径。
  • 远程 --server 发布不会写入本地 show/list 注册表。
bash
arc deploy ./my-app --publish
arc deploy list --published
arc deploy show did:blocklet:my-app

密钥前置(已验证失败)

在干净隔离的实例 home 上(ARC_HOME 已退役;用具名实例和 --home 隔离),2.0.0-beta.28 无 snapshot 密钥时发布失败:

text
Error: Local publish failed: Snapshot V2 requires a snapshot token secret:
set AFS_DID_SPACE_SNAPSHOT_SECRET (32-byte hex).
…
Prefer the dedicated variable.

把这记为本地发布的环境要求,而不是「发布未实现」。只在你控制的环境配置密钥;不要提交密钥。

远程 DID Space 发布(--server

bash
arc deploy ./my-app --server https://example-did-space.example
# 始终需要认证:浏览器流、缓存凭证或 --token

本板不声称远程发布 E2E 成功。 在团队对非共享目标完成成功运行(认证、上传、从远程副本独立 serve)之前,把任何远程工作流标为 experimental/未验证

即使 loopback URL 也需要真实凭证——不是认证旁路。

Cloudflare / Pages 向命令

bash
arc blocklet build ./my-app
arc blocklet deploy ./my-app --project <project-name>

build 打包后会打印 deploy 提示。Pages 部署与 DID Space 发布是不同产品面。在当作第三方作者默认路径前,在你自己的环境验证凭证、项目名与线上路由。

Instance 与 fleet(高级)

bash
arc blocklet instance --help
arc blocklet fleet --help

已理解 package vs instance 且有平台目标时再使用。不要要求「我在笔记本上脚手架了一个 Blocklet」就走这些路径。

有状态 /instance 交互(settings 写入、replicated 发帖、变更 instance 树的 agent 工具)需要真实 instance DID Space。无该绑定的本地壳 HTTP 200 不证明这些路径。未亲自跑过则将深层 /instance E2E 视为 未验证

写「已部署」前的诚实清单

  • 是否记录了本地 check + 浏览器验收?
  • 发布目标是哪一个(本地 space / 远程 server / Pages)?
  • 是否说明了认证与密钥路径且未嵌入密钥?
  • 远程或 /instance 声称若未 E2E 是否已标注?
  • 读者是否仍有不依赖 deploy 的本地路径?

相关