博客迁入Edgeone Pages
前言
前两天VPS因为流量包的问题出现了一两天的访问中断,且10月份后能明显感觉到访问速度变慢,推测应该是算力、带宽分配做了调整,为了提速和避免访问终端的问题以及让站点永久在线,所以昨天开始研究怎么在github action里把产物部署一份去edgeone的pages。
准备
开始有点不顺利,本来打算是先丢一份astro的产物上去测试一下速度如何,但是死活不行,提示切换node version失败。

后添加了Edgeone的售后群组进行了反馈,昨天晚上相关技术人员拉了个群组跟我核实,把相关的产物文件发给他们进行检测排查,今天下午给我反馈,说发现是如下问题。
这是fnm的feature, 当执行 fnm use <arg> 时:
路径优先:如果 <arg> 恰好匹配当前目录下的一个文件夹名称(例如你的文件夹叫 22),fnm 会优先将其解析为路径。
查找配置:它会进入该目录查找 .nvmrc 或 .node-version 配置文件。 技术人员结论
后不到半小时就对程序进行了更新。
此刻我再手动上传后发现已经可以正常部署,并通过拨测测速,发现速度还算比较理想,至少比现在轻量云上海区的速度要稳定。
且因为是部署在cdn上,理论上稳定性比我的个人服务器是要更优秀的。


部署
确定无问题后便根据 CI/CD 流水线集成 手册对原来的Github Action文件进行了修改,增加了关于Edgeone CLI的调用和部署。
- 先根据 API Token 文档获取Edgeone Pages的Token。
- 去Github仓库里增加 Actions secrets,如
EDGE_TOKEN - 修改action的yml文件,在末尾增加如下流程
- name: 安装 edgeone CLI
run: npm install -g edgeone
- name: Deploy to EdgeOne Pages
run: npx edgeone pages deploy ./dist -n astro-book -t ${{ secrets.EDGE_TOKEN }} 增加
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)
- 重新执行Action即可完成部署。
其他
- 绑定域名需要修改域名CNAME信息。
- 因为Edgeone这边需要平台管控证书,所以证书也要使用平台的,但是根据 @小周 大佬的信息,腾讯这边是可以自动续签的,暂时不用担心。
- 不过为了以防Edgeone之后权益发生变化或者其他变故(大厂经常干这种过河拆桥的勾当),我原来VPS这边依旧还是推送了一份,之后如何出现上述问题修改域名解析后可以无损秒且回来。
忘各位玩得开心。
End。
加入评论