边缘安全加速平台 EO EdgeOne CLI

EdgeOne CLI 提供了管理 Makers 函数的方法和快速部署的能力,借助 CLI,可以在项目中生成、配置和调试函数,也可以将构建完的产物以文件夹或 ZIP 包的形式上传至 Makers 平台。

相关产品
边缘安全加速平台 EO 产品页,含版本规格、价格与购买入口。

二、双命令策略说明

随着 EdgeOne Pages 升级为 EdgeOne Makers,CLI 同步引入新命名空间 edgeone makers:

命令族 状态 说明
edgeone makers <command> 推荐 新命名空间,主推使用;新功能(如 edgeone makers create)仅在此提供。
edgeone pages <command> 过渡期可用 老命名空间,所有原有子命令保持完整功能;执行时会显示一行 deprecation 提示。

两个命名空间的子命令完全等价——edgeone pages dev 与 edgeone makers dev 行为一致,可以平滑切换。

三、迁移建议

·CI / CD 脚本:建议在合适的发布周期内将 edgeone pages xxx 替换为 edgeone makers xxx;过渡期内不替换不会影响构建

·本地开发:直接使用新命令 edgeone makers xxx

·新功能:部分新功能(如 edgeone makers create)仅在新命名空间下提供,不在 edgeone pages 下注册

四、老命令下线计划

edgeone pages 命名空间在过渡期结束后会逐步下线,下线前会通过 CLI deprecation 提示与文档公告提前通知。当前阶段不会下线,存量用户的脚本与流程不会受影响。

五、一、准备工作

·使用多种方式快速注册并登录 腾讯云控制台。

·在控制台开通 Makers 服务,创建新的 Makers 项目,并将其克隆到本地。

七、1. 安装

在准备工作阶段克隆下来的项目中,可以通过 npm 来安装 CLI:

npm install -g edgeone

通过 edgeone -v命令,可以查看是否安装成功。通过edgeone -h命令,可以查看相关的所有命令。

八、2. 登录

执行登录命令,按照提示选择 Global (国际站)或 China (国内站),建议选择 China 以确保获取准确的数据和信息,然后在弹出的浏览器窗口完成登录。

edgeone login

完成登录后可以执行 edgeone whoami 查看当前登录账号的信息。

九、3. 项目初始化

EdgeOne CLI 提供两种方式开始一个项目,你可以根据自己的起点选择:

·从零创建新项目(edgeone makers create)—— 拉取模板快速起步。

·在已有项目中初始化(edgeone makers init)—— 给现有项目加上 Makers 配置。

十、3.1 从零创建新项目

执行以下命令拉取模板,创建一个新项目:

edgeone makers create [project-name] –template <slug>

参数说明:

·project-name:要创建的项目目录名(纯目录名)。

·–template:模板 slug 或 GitHub 目录(必填)。

·-t, –token: 用于 CI/CD 或非交互环境的 API Token;已登录时可省略。

可用的模板列表请参见 pages.edgeone.ai/templates,或访问 TencentEdgeOne/pages-templates 仓库。

十一、3.2 在已有项目中初始化

如果你已有一个现成的项目(例如使用 Next.js 等框架已经搭好的工程),可以通过以下命令在项目中初始化 EdgeOne Makers 需要的基础环境:

edgeone makers init

初始化过程中,根据指引以及你的需求,项目根目录下会生成 edge-functions 或 cloud-functions 文件夹和示例的函数,后续可以在该文件夹下不断新增和开发函数,函数的详细用法请参见 Makers Functions。

十二、4. 本地开发

完成初始化后,进入本地开发阶段:

edgeone makers dev

执行命令默认会在本地 8088 端口启动一个服务,Makers 函数的服务和 Makers 项目的服务都运行在同一个端口上,无需额外代理。

你可通过 http://localhost:8088/ 访问前端页面,在前端项目中直接使用 Fetch API,访问路径即为 edge-functions、cloud-functions文件夹下函数文件的路径。

// ./cloud-functions/api/my-functions.jsfetch('/api/my-functions', { method: 'POST', body: JSON.stringify({ data: 'example' }),})

十三、5. 关联项目

如果需要使用 KV 存储 能力或将控制台已设置的环境变量同步到本地调试,可以执行关联项目命令,按要求输入项目名称,这里的项目名为准备工作中已创建的 Makers 项目名。

edgeone makers link

注意:对于不方便执行 edgeone login 的环境,可在 edgeone makers link 后添加参数 -t, –token(API Token 获取方式见文末)。

若你需要 link 的项目不存在,也可以在 CLI 的指引下直接创建新项目。

十四、6. 提交部署

本地开发调试完成后,将项目代码推送到 Git 远端,即可触发 Makers 后台的 CI 构建部署,完成整个开发流程。

十五、7. 本地部署

你也可以选择通过 deploy 命令本地构建部署。如果需要 link 已存在的项目,必须为直接上传类型。

edgeone makers deploy

参数说明

·<directoryOrZip>: 需要部署的文件夹或 ZIP 包路径。

·-n, –name: 需要部署的项目名称,项目不存在则自动创建新项目。

·-e, –env: 部署目标环境,可选值: production 或 preview(默认 production)。

注意:执行 deploy 时,CLI 会自动构建并部署至 Makers,无需指定文件夹;若手动构建,则需将 Makers Functions 相关文件夹及 package.json 放入输出目录(例如 dist),再执行 edgeone makers deploy ./dist。

本地部署示例

# 生产环境部署edgeone makers deploy# 预览环境部署edgeone makers deploy -e preview

十六、8. 切换账号

如果需要切换到其他腾讯云账号,可以执行以下命令然后重新登录:

edgeone switch

十七、三、CI / CD 流水线集成

你也可以将 EdgeOne CLI 集成至 CI / CD 流水线以实现自动化部署。

注意:EdgeOne CLI 的安装方式可参考前文 快速开始 > 安装。

十八、CI 流水线部署命令

deploy 命令支持不依赖 Git 的方式,直接从 CI / CD 流水线将文件夹或 ZIP 包部署至 EdgeOne Makers。

edgeone makers deploy [<directoryOrZip>] -n <projectName> -t <token> [-e <env>]

参数说明

·<directoryOrZip>:需要部署的文件夹或 ZIP 包路径。

·-n, –name:需要部署的项目名称,项目不存在则自动创建新项目(必填)。

·-t, –token:用于 CI/CD 流水线的 API Token(必填)。

·-e, –env:部署目标环境,可选值:production 或 preview(默认 production)。

注意:执行 deploy 时,CLI 会自动构建并部署项目;若手动构建,则需将 Makers Functions 相关文件夹及 package.json 放入输出目录(如 dist),再执行 edgeone makers deploy ./dist。

十九、CI 流水线示例

# 生产环境部署edgeone makers deploy -n project-name -t $EDGEONE_API_TOKEN# 预览环境部署edgeone makers deploy -n project-name -e preview -t $EDGEONE_API_TOKEN

20、API Token 获取方式

在 CI / CD 流水线中使用部署命令前,需在 EdgeOne Makers 控制台生成 API Token,更多信息请参见 API Token。

21、四、环境变量管理

// 列出控制台配置的所有环境变量edgeone makers env ls// 拉取控制台环境变量到本地文件edgeone makers env pull// 拉取环境变量可以指定本地文件edgeone makers env pull -f .env.prod// 新增/修改环境变量edgeone makers env set ENV_VAR_KEY env_var_value// 删除环境变量edgeone makers env rm ENV_VAR_KEY

赞 (0)
上一篇 4天前
下一篇 4天前