EdgeOne CLI
概述
Edgeone CLI 提供了管理 Pages 函数的方法跟快速部署的能力,借助 CLI,可以在项目中生成、配置和调试函数,也可以将构建完的产物以文件夹或 Zip 包的形式上传至 Pages 平台。
一、准备工作
使用 Gmail 邮箱快速注册登录 腾讯云控制台。
在控制台开通 Pages 服务,创建新的 Pages 项目,并将其克隆到本地。
二、快速开始
1. 安装
在准备工作阶段克隆下来的项目中,可以通过 npm 来安装 CLI:
npm install -g edgeone
通过
edgeone -v
命令,可以查看是否安装成功。通过edgeone -h
命令,可以查看相关的所有命令。
2. 登录
执行登录命令,按照提示选择
Global
(国际站)或 China
(中国站),建议选择 Global
以确保获取准确的数据和信息,然后在弹出的浏览器窗口完成登录。edgeone login
完成登录后可以执行
edgeone whoami
查看当前登录账号的信息。
3. 初始化
成功登录后,执行初始化命令,在项目中初始化 Edgeone Pages 需要的基础环境:
edgeone pages init
4. 本地开发
完成初始化后,进入本地开发阶段:
edgeone pages dev
执行命令默认会在本地 8088 端口起一个服务,可以通过
http://localhost:8088/helloworld
访问示例函数,这里的访问路径,就是functions
文件夹下函数文件的地址路径。
在本地开发时,Pages 函数的服务和 Pages 项目的服务可能运行在不同的端口上。为了让 Pages 项目能够调用函数,可以使用代理服务器或反向代理来将请求转发到正确的端口。以下是一个 webpack-dev-server 的配置示例:
module.exports = {devServer: {proxy: {'/api': {target: 'http://localhost:8088', // Pages 函数的本地开发服务地址chagneOrigin: true,pathRewrite: {'^/api': '',}}}}}
这样,在 Pages 项目中使用 Fetch API:
fetch('/api/my-functions', {method: 'POST',body: JSON.stringify({ data: 'example' }),})
5. 关联项目
edgeone pages link
6. 提交部署
本地开发调试完成后,将项目代码推送到 Git 远端,即可触发 Pages 后台的 CI 构建部署,完成整个开发流程。
7. 本地部署
如果您的项目是通过“直接上传”创建的,也可以先在本地进行项目构建打包,然后通过如下命令直接部署至 Pages 平台。
edgeone pages deploy <directoryOrZip> -n <projectName> [-e <env>]
参数说明
<directoryOrZip>: 需要部署的文件夹或 ZIP 包路径(必填)
-n, --name: 需要部署的项目名称,项目不存在则自动创建新项目(必填)
-e, --env: 部署目标环境,可选值: production 或 preview(默认 production)
本地部署示例
# 生产环境部署edgeone pages deploy ./dist -n project-name# 预览环境部署edgeone pages deploy ./ dist.zip -n project-name -e preview
注意:
上述命令依赖 edgeone login,您也可以参考“CI 流水线示例”使用 API Token 进行部署。
8. 切换账号
如果需要切换到其他腾讯云账号,可以执行以下命令然后重新登录:
edgeone switch
三、CI/CD 流水线集成
您也可以将 EdgeOne CLI 集成至 CI/CD 流水线以实现自动化部署。
注意:
EdgeOne CLI 的安装方式可参考前文“快速开始 - 安装”。
CI 流水线部署命令
deploy
命令支持不依赖 Git 的方式,直接从 CI/CD 流水线将文件夹或 ZIP 包部署至 EdgeOne Pages。edgeone pages deploy <directoryOrZip> -n <projectName> -t <token> [-e <env>]
参数说明
<directoryOrZip>: 需要部署的文件夹或 ZIP 包路径(必填)
-n, --name: 需要部署的项目名称,项目不存在则自动创建新项目(必填)
-t, --token: 用于 CI/CD 流水线的 API Token(必填)
-e, --env: 部署目标环境,可选值: production 或 preview(默认 production)
CI 流水线示例
# 生产环境部署edgeone pages deploy ./dist -n project-name -t $EDGEONE_API_TOKEN# 预览环境部署edgeone pages deploy ./dist.zip -n project-name -e preview -t $EDGEONE_API_TOKEN