解锁 1年EdgeOne + 1TB CDN: 加入我们的开发者之旅
立即开始!
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