SuperAPI AI 工具集

edgeone-pages-deploy

部署与运维

查看项目

更新于 10-15 12:04

技能介绍

用途

本技能用于将前端项目和全栈项目部署到 EdgeOne Pages(腾讯 EdgeOne)。当用户的主要意图是部署、发布项目时,应使用该技能。

关键规则

  • CLI 版本需 ≥ 1.2.30,低于此版本必须重新安装。
  • 禁止截断部署 URL:EDGEONE_DEPLOY_URL 包含访问所需的查询参数,必须输出完整 URL。
  • 登录前必须让用户选择中国站或全球站,不得自行假设。
  • 自动检测登录方式:桌面环境用浏览器登录,无头/远程/CI 环境用 Token 登录。
  • Token 登录后,询问用户是否将 Token 保存到本地以便后续使用。
  • 在触发任何浏览器弹窗(登录/注册)之前,先向用户说明原因和好处,不得静默启动浏览器窗口。

环境准备

在执行任何 edgeone CLI 命令(安装、登录、部署等)之前,在当前 shell 会话中设置环境变量:

export PAGES_SOURCE=skills

或对每条命令内联加前缀:

PAGES_SOURCE=skills edgeone pages deploy

这用于告知平台该部署由 AI 技能上下文触发。

部署流程

先运行以下检查,再依据决策表操作:

检查 0:设置环境变量(任何 edgeone 命令前必需) export PAGES_SOURCE=skills

检查 1:CLI 是否已安装且版本正确 edgeone -v

检查 2:是否已登录 edgeone whoami

检查 3:项目是否已关联 cat edgeone.json 2>/dev/null

检查 4:是否存在已保存的 Token cat .edgeone/.token 2>/dev/null

决策表

  • 未安装或版本 < 1.2.30:执行安装 CLI。
  • ≥ 1.2.30 且已登录:执行部署。
  • ≥ 1.2.30、未登录、有已保存 Token:使用已保存 Token 部署。
  • ≥ 1.2.30、未登录、无已保存 Token:执行登录。

安装 CLI

npm install -g edgeone@latest

验证:edgeone -v,确认输出为 1.2.30 或更高。若不符合需重试安装。

登录

说明注册/登录步骤

在触发任何登录流程前,先向用户说明该步骤的必要性和预期情况,不得静默启动浏览器窗口。需告知用户:为什么需要登录(部署会把构建产物上传到用户自己的账号,生成唯一访问 URL 和项目记录);免费获得什么(EdgeOne Pages 提供免费额度,含全球 CDN 加速、自动 HTTPS 和自定义域名绑定);接下来会发生什么(运行 edgeone login 后默认浏览器打开腾讯云登录页面,完成登录/注册并授权后返回);如果卡住怎么办(若浏览器未打开或 CLI 在登录后仍等待,可切换到 Token 登录)。若用户长时间无响应(如超过 1–2 分钟),应主动询问状态。

请用户选择站点

运行任何登录命令前,使用 IDE 的选择控件让用户选择:中国站(面向中国大陆用户,console.cloud.tencent.com)或全球站(面向中国以外用户,console.intl.cloud.tencent.com)。

检测环境并选择登录方式

  • 本地桌面 IDE(VS Code、Cursor 等):浏览器登录。
  • 远程 / SSH / 容器 / CI / 云 IDE / 无头环境:Token 登录。
  • 用户明确要求 Token:Token 登录。

浏览器登录:# 中国站 edgeone login --site china;# 全球站 edgeone login --site global。等待用户在浏览器完成授权,完成后 CLI 会打印成功信息。

⚠️ 浏览器会话复用陷阱:若用户此前登录过另一个站点,浏览器可能静默复用旧的腾讯云会话,导致 CLI 看似成功但实际绑定了错误账号,后续部署会因鉴权错误失败或 whoami 显示意外账号。遇到此情况,引导用户点击登录页的“Sign in with a different account”,或先退出所有腾讯云控制台再重新运行 edgeone login。

Token 登录不使用 edgeone login 或 edgeone whoami,而是通过部署命令的 -t 直接传入 Token。注意:edgeone whoami 不支持 -t 参数,不要用 whoami -t <token> 验证 Token,Token 由部署命令本身校验(edgeone pages deploy -t <token>)。用户提供 Token 时,跳过登录状态检查,直接进行 Token 部署。

获取 Token:进入控制台(中国站 https://console.cloud.tencent.com/edgeone/pages?tab=settings;全球站 https://console.intl.cloud.tencent.com/edgeone/pages?tab=settings),找到 API Token → Create Token → 复制。提醒用户:Token 具有账号级权限,切勿提交到代码仓库。

保存 Token 到本地

用户提供 Token 后询问是否保存以便后续部署。若选择保存:

mkdir -p .edgeone echo "<token>" > .edgeone/.token grep -q '.edgeone/.token' .gitignore 2>/dev/null || echo '.edgeone/.token' >> .gitignore

向用户确认:“✅ Token 已保存到 .edgeone/.token 并加入 .gitignore。”

部署

浏览器鉴权部署:# 项目已关联(存在 edgeone.json)edgeone pages deploy;# 新项目(无 edgeone.json)edgeone pages deploy -n <project-name>。<project-name> 由项目目录名自动生成,首次部署会自动创建 edgeone.json。

基于 Token 的部署:先检查已保存 Token(cat .edgeone/.token 2>/dev/null)。找到则使用并告知用户“使用来自 .edgeone/.token 的已保存 Token”;未找到则请用户提供。命令:# 项目已关联 edgeone pages deploy -t <token>;# 新项目 edgeone pages deploy -n <project-name> -t <token>。Token 已包含站点信息,无需 --site 参数。手动输入 Token 部署成功后,询问是否保存。

部署到预览环境:edgeone pages deploy -e preview

构建行为:CLI 自动检测框架、执行构建并上传输出目录,无需手动配置。

解析部署输出(关键)

部署成功后 CLI 会输出 [cli][✔] Deploy Success、EDGEONE_DEPLOY_URL=https://my-project-abc123.edgeone.cool?<auth_query_params>、EDGEONE_DEPLOY_TYPE=preset、EDGEONE_PROJECT_ID=pages-xxxxxxxx,以及控制台链接。

提取规则:访问 URL 取 EDGEONE_DEPLOY_URL= 之后的完整值,必须包含完整查询字符串(? 及其后全部内容),否则页面无法加载;项目 ID 取 EDGEONE_PROJECT_ID= 后的值;控制台 URL 取“You can view your deployment...”之后的一行。

向用户展示:✅ 部署完成,访问 URL 和控制台 URL。ℹ️ 注意:此预览 URL 用于快速验证部署。从中国大陆访问时,由于域名 ICP 备案状态或 CDN 加速策略,链接可能在一段时间后或被分享时受限(如返回 401)。如需长期稳定的公开访问,请绑定已正确 ICP 备案的自定义域名。

错误处理

  • command not found: edgeone:运行 npm install -g edgeone@latest。
  • 登录时浏览器未打开:切换到 Token 登录。
  • “not logged in”错误:运行 edgeone whoami 检查,然后重新登录或使用 Token。
  • Token 鉴权错误:Token 可能已过期,在控制台重新生成。
  • 登录看似成功但部署报鉴权错误:浏览器复用了错误站点的会话,绑定了错误账号。在登录页点击“Sign in with a different account”,或先退出所有腾讯云控制台。
  • edgeone whoami 显示意外账号:同样为浏览器会话复用问题,点击“Sign in with a different account”或退出所有控制台后重新登录。
  • 项目名冲突:使用 -n 指定不同名称。
  • 构建失败:检查日志,通常是缺少依赖或构建脚本有问题。

CLI 命令参考、环境变量、本地开发设置和 Token 管理细节,见 references/command-reference.md。