本地直接部署到 EdgeOne Pages
7 min
| 笔记
本地直接部署到EdgeOnePages
为什么选择本地直接部署?
在项目部署过程中,我选择了本地直接部署到EdgeOnePages的方式,主要有以下几个重要原因:
1. 部署便捷性
本地直接部署最大的优势就是简单快捷。相比传统的GitHub Actions或其他CI/CD流程,本地部署省去了复杂的配置步骤:
- 无需配置CI/CD流水线:不需要编写复杂的GitHub Actions配置文件
- 即时反馈:部署结果立即可见,无需等待CI/CD流程执行
- 调试方便:遇到问题时可以直接在本地调试,快速定位问题
2. 成本效益
本地部署相比其他方案具有更好的成本效益:
- 零额外成本:不需要额外的CI/CD服务费用
- 资源利用充分:充分利用本地计算资源进行构建
- 网络优化:本地网络环境通常比云端构建更稳定
部署流程详解
准备工作
安装 EdgeOne 工具
# 使用npm或pnpm安装 npm install -g edgeone获取API Token
- 登录腾讯云控制台
- 进入EdgeOne Pages服务
- 生成API Token并妥善保存

部署脚本
PowerShell脚本(edgeone.ps1):
# edgeone.ps1 - 一键部署脚本
# Deploy script for Tencent Cloud EdgeOne Pages
# ========== 请根据你的项目修改以下变量 ==========
# 1. 构建输出目录:你的项目打包后生成的文件夹名称
$buildOutput = "你的项目构建目录" # 例如:"dist", "build", "out" 等
# 2. 项目名称:在EdgeOne Pages控制台中创建的项目名
$projectName = "你的项目名称" # 例如:"my-website"
# 3. API Token:用于自动化部署的凭证(在控制台生成),仅在CI/CD等无界面环境需要。
# 如果在本地命令行已登录edgeone,可以注释或删除 -t 参数及这行变量。
$apiToken = "你的API_Token"
# ===============================================
# 清理旧的构建产物
Remove-Item -Recurse -Force $buildOutput -ErrorAction SilentlyContinue
# 执行项目构建
pnpm build # 如果你的构建命令不同,请修改此处(例如:npm run build)
# 执行EdgeOne部署
# 注意:如果已在本地通过 'edgeone login' 登录,可以去掉 "-t $apiToken" 部分
edgeone pages deploy $buildOutput -n $projectName -t $apiToken终端运行:
.\edgeone.ps1Linux Shell脚本(edgeone.sh):
#!/bin/bash
# edgeone.sh - Linux一键部署脚本
# ========== 请根据你的项目修改以下变量 ==========
# 1. 构建输出目录:你的项目打包后生成的文件夹名称
BUILD_OUTPUT="你的项目构建目录" # 例如:"dist", "build", "out" 等
# 2. 项目名称:在EdgeOne Pages控制台中创建的项目名
PROJECT_NAME="你的项目名称" # 例如:"my-website"
# 3. API Token:用于自动化部署的凭证(在控制台生成),仅在CI/CD等无界面环境需要。
# 如果在本地命令行已登录edgeone,可以注释或删除 -t 参数及这行变量。
API_TOKEN="你的API_Token"
# ===============================================
# 执行安装、构建和部署
pnpm install && pnpm build && edgeone pages deploy $BUILD_OUTPUT -n $PROJECT_NAME -t $API_TOKEN
# 如果已在本地通过 'edgeone login' 登录,建议使用下面这行命令(去掉 -t 参数)
# pnpm install && pnpm build && edgeone pages deploy $BUILD_OUTPUT -n $PROJECT_NAME终端运行:
./edgeone.sh手动部署命令
如果不想使用脚本,也可以直接运行命令:
edgeone pages deploy 你的项目构建后的产物路径 -n 项目名称(例如:laochaofeng) -t 你的API Token优势对比
| 部署方式 | 本地直接部署 | GitHub Actions | 传统FTP |
|---|---|---|---|
| 配置复杂度 | ⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ |
| 部署速度 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐ |
| 成本 | 免费 | 免费(有限制) | 付费 |
| 灵活性 | 高 | 中 | 低 |
| 调试便利性 | 高 | 低 | 中 |
最佳实践(可选)
1. 环境变量管理
建议将API Token等敏感信息存储在环境变量中:
# 在系统环境变量中设置
$env:EDGEONE_TOKEN = "your_api_token"2. 构建优化
在本地构建时可以进行一些优化:
- 使用缓存加速构建:
pnpm build --force - 清理旧构建产物:
rm -rf dist && pnpm build - 验证构建结果:部署前检查dist目录内容
3. 错误处理
在脚本中添加错误处理逻辑:
try {
# 部署逻辑
edgeone pages deploy 你的项目构建后的产物路径 -n 项目名称(例如:laochaofeng) -t $env:EDGEONE_TOKEN
} catch {
Write-Host "部署失败: $($_.Exception.Message)" -ForegroundColor Red
exit 1
}EdgeOne Pages 限制说明
在使用EdgeOne Pages服务时,需要注意以下限制维度,这些限制可能会影响部署的成功率和项目的规模:
| 限制维度 | 具体限制 | 触发条件/说明 | 影响范围 |
|---|---|---|---|
| 单文件大小 | ≤ 25 MB | 部署包中的任何单个文件超过此限制。 | 直接影响API部署,是硬性限制。 |
| 项目总文件数量 | ≤ 20,000 个 | 整个部署项目的文件总数量超过此限制。 | 直接影响API部署,是硬性限制。 |
| 项目存储总量 | ≤ 5 GB | 所有已保留部署版本占用的总存储空间。 | 当总存储达到上限时,无法创建新部署。 |
注意事项:
- 这些限制适用于EdgeOne Pages的免费和付费版本
- 在部署前建议检查项目文件大小和数量
- 对于大型项目,可以考虑使用文件压缩或CDN优化策略
常见问题
Q: 部署失败怎么办?
A: 检查网络连接、API Token有效性,以及目录是否存在且内容完整。
Q: 如何查看部署状态?
A: 使用命令 edgeone pages list 查看所有部署记录。
Q: 可以回滚到之前的版本吗?
A: 是的,EdgeOne Pages支持版本回滚功能。
总结
本地直接部署到EdgeOnePages是一种简单、高效、成本低的部署方案,特别适合:
- 个人项目和小型团队
- 需要快速迭代的项目
- 希望保持部署流程简单透明的场景