






















最近感觉 Vercel 虽然好用,但在国内或者部分亚洲地区的访问速度有时候还是不太稳定。前段时间油老师给我推荐了这个 EdgeOne Pages,今天有空试了试腾讯云新出的 EdgeOne Pages。
听说 EdgeOne 的节点覆盖很不错,而且对个人开发者也有免费额度,于是心血来潮,决定把博客的境外加速线路从 Vercel 换成 EdgeOne。
为了保证访问速度和稳定性,我现在的策略是:
这样既能保证国内访客秒开,又能照顾到海外访问的体验,相当于搞了个“双保险”。
其实过程没有我想象的顺利,EdgeOne Pages 给我更多的感觉是一个半成品,很多功能还在完善中。
我看了支持的框架,还没有适配 Hugo,实际部署起来坑不少。我试了三次,用自定义配置也没跑通,老是报错。
既然官方的构建环境不太稳,那我就把构建这一步放在自己手里。转变思路:在 GitHub Actions 里构建好,然后直接把生成的静态文件推送到 EdgeOne Pages。
参考一下其他博主的文档,以及询问豆包,下面分享我的思路。首先,在项目里加个脚本 scripts/deploy_edgeone.sh,利用 EdgeOne 的 CLI 工具来上传文件。
#!/bin/bash
# EdgeOne Pages Deployment Script
# 1. 检查环境变量
if [ -z "$EDGEONE_API_TOKEN" ]; then
echo "Error: EDGEONE_API_TOKEN is not set."
exit 1
fi
# 2. 设置默认值
PROJECT_NAME=${1:-"hugo-blog"}
BUILD_DIR=${2:-"./public"}
echo "Deploying to EdgeOne Pages..."
echo "Project: $PROJECT_NAME"
echo "Directory: $BUILD_DIR"
# 3. 执行部署命令
# 使用 npx 运行 edgeone CLI,无需全局安装
npx edgeone pages deploy "$BUILD_DIR" -n "$PROJECT_NAME" -t "$EDGEONE_API_TOKEN"
# 4. 检查结果
if [ $? -eq 0 ]; then
echo "Deployment successful!"
else
echo "Deployment failed!"
exit 1
fi
然后,在 .github/workflows/deploy.yml 里加上这一步。记得先去 EdgeOne 控制台生成一个 API Token,然后放到 GitHub 仓库的 Secrets 里(名字叫 EDGEONE_API_TOKEN)。
- name: Deploy to EdgeOne Pages
env:
EDGEONE_API_TOKEN: ${{ secrets.EDGEONE_API_TOKEN }}
run: |
chmod +x scripts/deploy_edgeone.sh
./scripts/deploy_edgeone.sh hugo-blog ./public
这样一来,每次我推送代码,GitHub Actions 就会自动把 Hugo 构建好的 public 文件夹推送到 EdgeOne,既省心又稳定。
部署好之后,最关键的一步就是在域名解析里做分流。
我是在 dnspod 服务商那里这样设置的:
切过来,简单测试一下,整体感觉挺香的。
总之,这次调整算是一次小小的升级吧,既保留了国内的优势,又补齐了境外的短板。对于像我这样喜欢把博客托管在静态服务上的朋友,EdgeOne Pages 确实是个不错的替代方案。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。