用途
本技能用于把前端和全栈项目部署到 EdgeOne Pages(腾讯 EdgeOne)。当用户的主要意图是部署、发布项目时使用。
主要能力
- 通过 edgeone CLI 完成安装、登录、构建与部署上传。
- CLI 自动识别框架、执行构建并上传输出目录,无需手动配置。
- 支持浏览器登录与 Token 登录;支持将 Token 保存到本地以便后续复用。
- 支持部署到预览环境(-e preview)。
- 部署成功后输出访问 URL、项目 ID 和控制台链接。
关键规则
- 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
使用方式
先做检查,再按下表决策:
检查 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 或更高,否则重试安装。
登录流程: 0. 先向用户说明注册/登录步骤的原因与预期,不得静默打开浏览器。要点包括:为何需要登录(部署会把构建产物上传到用户自己的账号,生成唯一访问 URL 和项目记录);免费额度(EdgeOne Pages 提供免费层,含全球 CDN 加速、自动 HTTPS 与自定义域名绑定);后续动作(执行 edgeone login 后默认浏览器打开腾讯云登录页,完成登录/注册并授权后返回);遇到问题的处理(浏览器未打开或登录后 CLI 仍等待,可切换 Token 登录)。若用户长时间(如超过 1–2 分钟)未响应,应主动询问状态,不要无限等待。
- 让用户选择站点(使用 IDE 的选择控件 ask_followup_question):中国(面向中国大陆用户,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 显示异常账号。此时应引导用户点击登录页的“使用其他账号登录”,或先退出所有腾讯云控制台(console.cloud.tencent.com 与 console.intl.cloud.tencent.com)后重新执行 edgeone login。
Token 登录: Token 登录不使用 edgeone login 或 edgeone whoami,直接在部署命令中通过 -t 传入 Token。注意:edgeone whoami 不支持 -t 参数,不要用 whoami -t <token> 验证 Token;Token 由部署命令本身校验(edgeone pages deploy -t <token>)。用户提供 Token 时,跳过检查 2,直接进入 Token 部署。 获取 Token:进入控制台(中国站 https://console.cloud.tencent.com/edgeone/pages?tab=settings ;全球站 https://console.intl.cloud.tencent.com/edgeone/pages?tab=settings ),找到 API Token → 创建 Token → 复制。提醒用户:Token 具有账号级权限,切勿提交到代码仓库。
保存 Token 到本地(可选): 用户提供 Token 后询问是否保存以供后续部署使用。若选择保存: mkdir -p .edgeone echo "<token>" > .edgeone/.token grep -q '.edgeone/.token' .gitignore 2>/dev/null || echo '.edgeone/.token' >> .gitignore 并向用户确认:"✅ Token saved to .edgeone/.token and added to .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 部署成功后,询问是否保存该 Token。
部署到预览环境: edgeone pages deploy -e preview
解析部署输出(关键)
部署成功后 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 [cli][✔] You can view your deployment in the EdgeOne Pages Console at: https://console.cloud.tencent.com/edgeone/pages/project/pages-xxxxxxxx/deployment/xxxxxxx
提取规则:访问 URL 取 EDGEONE_DEPLOY_URL= 之后的完整值,必须包含完整查询字符串(? 及其后全部内容),否则页面无法加载;项目 ID 取 EDGEONE_PROJECT_ID= 之后的值;控制台 URL 取“You can view your deployment...”之后的链接行。 向用户展示:访问 URL 与控制台 URL。并说明:该预览 URL 用于快速验证部署;从中国大陆访问时,受域名 ICP 备案状态或 CDN 加速策略影响,链接可能在一段时间后或分享后受限(如 401)。若需长期稳定的公开访问,请绑定已完成 ICP 备案的自定义域名。
适用场景
- 快速部署、发布前端或全栈项目到 EdgeOne Pages。
- 在 CI/远程/无头环境中通过 Token 完成部署。
- 部署预览环境用于快速验证。
限制
- CLI 版本低于 1.2.30 无法使用,需重装。
- 部署 URL 必须完整包含查询参数,不能截断。
- whoami 不支持 -t 参数,Token 只能由部署命令校验。
- 浏览器登录存在跨站点会话复用导致绑定错误账号的风险。
- 预览 URL 在中国大陆可能受限,长期稳定访问需绑定已备案自定义域名。
错误处理
- command not found: edgeone → 运行 npm install -g edgeone@latest
- 登录时浏览器未打开 → 改用 Token 登录
- 报“not logged in” → 运行 edgeone whoami 检查,再重新登录或改用 Token
- Token 鉴权错误 → Token 可能已过期,在控制台重新生成
- 登录看似成功但部署报鉴权错误 → 浏览器复用了错误站点的会话,绑定错误账号。点击登录页“使用其他账号登录”,或先退出所有腾讯云控制台后重登
- edgeone whoami 显示异常账号 → 同上,浏览器会话复用问题
- 项目名冲突 → 用 -n 指定不同名称
- 构建失败 → 检查日志,通常是缺少依赖或构建脚本有问题
CLI 命令参考、环境变量、本地开发设置与 Token 管理细节见 references/command-reference.md。