SuperAPI AI 工具集

makers-deploy

部署与运维

查看项目

更新于 10-16 01:57

技能介绍

用途

本技能用于把前端和全栈项目部署到 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 分钟)未响应,应主动询问状态,不要无限等待。

  1. 让用户选择站点(使用 IDE 的选择控件 ask_followup_question):中国(面向中国大陆用户,console.cloud.tencent.com)或全球(面向中国以外用户,console.intl.cloud.tencent.com)。
  2. 检测环境并选择登录方式:本地桌面 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。