用 CLI 发布静态网站
以 Stillform 工作室页面为例,把它发布到自己域名的 www,再更新并恢复同一个站点。先安装并登录,下载示例 HTML,在当前工作目录保存为 index.html。
还没有域名时,先看购买域名并管理 DNS。该例使用单独的 blog 记录;下面的托管流程会处理 www 所需的解析。
以下写操作面向自己直接使用的交互终端,特意不加 --json,以便 CLI 展示确认提示。只读检查使用 JSON 展示结果;通过 Skill 或脚本调用时,授权方式见下方说明。
1. 查看能力与已有站点
nameslink site hosted capability --json
nameslink site hosted list --json
先确认当前账号开放了静态托管、文件限制及域名资格。已有站点要保存并复用原站点 ID,避免把一次更新变成另一个新站点。
2. 上传并检查预览
nameslink site hosted preview --file ./index.html
核对文件与上传操作,按提示输入 confirm。第一次预览会创建站点,输出预览地址和包含站点 ID、版本 ID 的发布命令;保留该命令及其中的原请求键。JSON 输出中,对应字段为 hostedSiteId 和 release.releaseId;不要把预览 ID 当成版本 ID。
在新窗口打开预览。本例应能看到 “Good things. Made distinct.” 标题、绿色雕塑和三组作品;检查手机布局、展开项目介绍并测试导航,确认后再发布。
多文件站点将 --file ./index.html 换成 --dir ./dist,并确保静态输出目录根部有非空 index.html。CLI 不会自动构建源码,也不提供后端运行环境。
共享预览通常有效 3 小时,以实际返回的截止时间为准。生成预览不会替换已经上线的网站。
3. 发布到自己的域名
将下面的占位符替换为真实 ID 和自己的域名,去掉尖括号后再执行:
nameslink site hosted publish <站点ID> --release <版本ID> --host www.example.com
nameslink site hosted status <站点ID> --watch --json
新绑定仅支持当前账号下符合条件的 NamesLink 域名及可用托管资源,是否可用以当前能力检查为准。使用 www.example.com 这样的单层子域名;不支持根域名、通配符 *.example.com 或多层前缀。核对完整域名与解析变更,并完成 CLI 要求的身份验证。
「已接收」不等于已上线。继续查看原站点,按照 nextAction 或恢复命令处理等待,并分别核对:
| 检查点 | 应看到的结果 |
|---|---|
| 临时预览 | 返回的预览地址可以打开刚检查过的 Stillform 页面 |
| 发布状态 | 原操作成功,并返回经验证的正式 site.url |
| 自己的域名 | 精确的 www 地址可通过 HTTPS 打开相同页面,导航可用 |
只有控制台内嵌显示失败时,先在新窗口打开正式地址,见预览排障。
自动化可以在已审阅并获准的精确操作上使用 --yes --json。单独加 --json 不会弹出普通交互确认,写操作可能返回 ApprovalRequired。授权不能绕过 MFA,也不允许更换目标或无限重试;身份验证按同一次挑战返回的续接步骤完成。最终 JSON 在 stdout,过程事件在 stderr。
4. 更新时复用原站点 ID
nameslink site hosted preview <站点ID> --file ./index.html
nameslink site hosted publish <站点ID> --release <新版本ID>
nameslink site hosted status <站点ID> --watch --json
在本地 index.html 中修改一处文字,再对原站点 ID生成预览。确认新预览已经变化,而正式域名仍展示旧版。发布本次新版本,省略 --host 以沿用原目标;等待成功后,再到正式域名核对修改后的文字。
网站名称是管理标签,需要改名时使用:
nameslink site hosted rename <站点ID> --name "我的作品集"
5. 查看历史并恢复
nameslink site hosted history <站点ID> --json
nameslink site hosted restore <站点ID> --release <保留的版本ID>
nameslink site hosted status <站点ID> --watch --json
选择历史中修改文字之前仍被保留的成功版本。核对恢复操作,等新操作成功后,在同一个域名检查旧文字是否已恢复;不能拿任意过期预览替代历史版本。
命令被中断、MFA 或 DNS 等待时,保留输出中的原操作 ID、idempotencyKey 和恢复命令,见中断和失败恢复。