国际站
    控制台
    • 产品简介
    • 快速开始
      • 导入 Git 仓库
      • 从模板开始
      • 直接上传
    • 框架指南
    • 项目指南
      • 项目管理
      • edgeone.json
      • 缓存配置
      • 错误码
    • 构建指南
    • 部署指南
      • 概览
      • 触发部署
      • 管理部署
      • 部署按钮
      • 使用 Github Action
    • 域名管理
      • 概览
      • 自定义域名
      • 配置 HTTPS 证书
      • 如何配置 DNS 的 CNAME 记录
    • Pages Functions
    • KV 存储
    • 边缘 AI
    • API Token
    • EdgeOne CLI
    • Pages MCP
    • 集成指南
      • 数据库
        • Supabase 集成
        • Pages KV 集成
      • 电商
        • WooCommerce 集成
        • Shopify 集成
      • 支付
        • Stripe 集成
        • Paddle 集成指南
      • CMS
        • Sanity 集成
        • Contentful 集成
        • WordPress 集成
      • 身份验证
        • Supabase 集成
        • Clerk 集成
    • 最佳实践
      • 使用 Deepseek-R1 模型快速搭建对话型AI站点
      • 使用 WordPress + WooCommerce 和 GatsbyJS 搭建电商平台
      • 使用 Supabase 和 Stripe 搭建 SaaS 站点
      • 如何快速搭建公司品牌站点
      • 如何快速搭建博客站点
    • 迁移指南
      • 从 Vercel 迁移至 EdgeOne Pages:优化您在中国区域的网站部署
      • 从 Cloudflare Pages 迁移至 EdgeOne Pages:优化您在中国区域的网站部署
      • 从 Netlify 迁移至 EdgeOne Pages:优化您在中国区域的网站部署
    • 排障指南
    • 常见问题
    • 联系我们
    • 产品动态

    EdgeOne CLI

    概述

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

    一、准备工作

    使用多种方式快速注册并登录腾讯云控制台
    在控制台开通 Pages 服务,创建新的 Pages 项目,并将其克隆到本地。
    

    二、快速开始

    1. 安装

    在准备工作阶段克隆下来的项目中,可以通过 npm 来安装 CLI:
    npm install -g edgeone
    通过 edgeone -v命令,可以查看是否安装成功。通过edgeone -h命令,可以查看相关的所有命令。
    

    2. 登录

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

    3. 初始化

    成功登录后,执行初始化命令,在项目中初始化 Edgeone Pages 需要的基础环境:
    edgeone pages init
    完成初始化后,项目根目录下会生成functions文件夹和示例的函数,后续可以在该文件夹下不断新增和开发函数,函数的详细用法参考文档
    

    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. 关联项目

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

    API Token 获取方式

    在 CI/CD 流水线中使用部署命令前,需在 EdgeOne Pages 控制台生成 AIP Token,更多信息请参阅文档 API Token