一直以来都是使用 coding.net 持续部署的 “网站托管” 来部署个人的静态网站,包括了纯静态网站、Hugo/Jekyll 站点等等,但是从 2022年1月1日起,CODING 将不再提供「网站托管」服务使用入口,取而代之的是一个叫云开发 Webify 的东西。
image.png
image.png

云开发 Webify

官网(https://webify.cloudbase.net/)的介绍是,一个为 Web 开发者打造的应用托管平台,极速开发、部署、上线。
image.png

使用与体验

在 2021-12-23,个人上去把 BioIT 爱好者网址导航 的 WebStack-Hugo 的静态网站开始从 CODING 迁移到腾讯云的这个云开发 Webify,总体来说,体验还是比较流畅的,最起码用户的设置要比之前在 CODING 要简化不少。

迁移过程中,有几点注意的地方:

  1. 迁移前,需要先在 CODING 把对应网站托管的应用先删除(如不想删除,则可以把绑定的自定义域名删除)。

image.png

  1. 云开发 Webify 中重新绑定域名需要先释放原来在域名供应商处设置的 CDN 资源(否则会提示以下错误)。如果你是在腾讯云注册和解析的域名,即在网络内容分发 CDN 中对应域名的记录先停止再删除即可。

image.png

  1. 云开发 Webify 中重新绑定域名需要在域名解析处增加一条 CNAME 记录。该条记录的值跟原来 CODING 自定义绑定域名的 CNAME 值是一样的,所以,如果之前已经在 CODING 绑定过域名,现在在 Webify 中想重新绑定这个域名,那么你可以不用修改你的任何 CNAME 记录。

其实,总体的来说,整个过程只需要额外操作两步就可以,即把在网络内容分发 CDN 中对应域名的记录先停止再删除,然后操作一下域名自定义配置。

云开发 Webify 的初始入口终于有了专有的域名 https://webify.cloudbase.net/,不再像以前腾讯云产品中,如静态网站托管、云开发 CloudBase 之类入口那么深(找半天还不知道在哪里),但 Webify 的实际操作还是在腾讯云的控制台中(https://console.cloud.tencent.com/webify/index,看看这个域名,一层又一层,对平时喜欢直接敲域名直达的人来说,简直是一种折磨)。

就目前而言:

各个平台之间和腾讯云之间又是联通的,各司其职的同时又紧密结合,让之前一直觉得混乱臃肿的腾讯云好像一下子清爽了不少。

吐槽与弃坑

用了半年多的 Webify,终于准备要弃坑拥抱 Cloudflare Pages 了。记录一下曾经的心路历程。
image.png

GitHub→Coding→Webify

在2021年12月左右就把 WebStack-Hugo 的导航网站通过 webify 进行部署,最开始绑定的是 Coding 的仓库,整体采用的策略是:

  1. GitHub 更新源码(例如,增删改导航内容);
  2. 通过 github actions 把 GitHub 源码同步到 Coding;
  3. Coding 执行自动化构建,把生成的静态页面代码自动化 push 到 Coding 的另外一个仓库 B;
  4. Webify 绑定 Coding 的仓库 B,从而执行自动构建,最终完成部署。

以上的策略可能导致的一个问题就是过程比较复杂——Coding 至少要创建 2 个仓库,一个保存 Github 同步的源码,一个保存 Hugo 生成的静态页面代码;此外,Coding 的自动化构建比较耗时,尤其是有时候任务需要排队!

GitHub→Webify

到了2022年2月,开始调整策略:

  1. 在 GitHub 中创建一个用于保存 public 静态文件的新仓库 Pub;
  2. Src 源码仓库使用 peaceiris/actions-gh-pages@v3 的 github actions 自动执行 hugo 构建,构建完后把 public 静态文件 push 到 Pub 仓库;
  3. Webify 跟 Github 的静态文件的新仓库 Pub 进行绑定,从而执行自动构建,最终完成部署。

这时候,问题来了:

  1. Webify 构建纯静态网站一直提示构建失败!
  2. Webify 无法查看构建日志,不管是构建成功还是失败的日志,打开都是一片空白。

第一次是在 Webify 微信交流群进行反馈,但这个交流群目前已经形同虚设,任何问题都没有回应,只能提交工单,第一次提交工单客服居然跟我说找不到产品的负责人,折腾了5天,问题解决了。
74304dac1ce887c3175a7247bbe58db.jpg

跑路中…

在2022年4左右,又把 Github Actions 的策略调整了一下:

  1. 在 Github 源码仓库中中除了 main 分支外,创建一个 gh-pages 分支;
  2. 把 Hugo 自动构建的 public 静态文件同步 push 到 gh-pages 分支;
  3. Webify 跟 Github 的静态文件 gh-pages 分支进行绑定,执行自动构建,完成部署。

这时候,出现了第二个问题:Github 仓库更新,Webify 根据对应仓库的更新无法触发自动部署。
4b9628d57398d1231f1575af86c05ef.jpg
Webify 需要绑定 master 分支!虽然这一次只花了 2 天帮我排查了问题,但如果需要绑定 master,为什么 Webify 还支持在编辑里面修改成其他分支?发现问题后哪怕增加一个提示也不可以吗?

想着将就用一下吧,没想到问题又来了:绑定了 Github 仓库的 master 分支,master 分支代码更新后又无法触发 Webify 自动构建了!Are you kidding me!
de3056143a0b19e93d81992e3bb83b5.jpg
这第三次的工单又折腾了 5 天!虽然是网络的问题,还可以接受,但实在让人感觉意兴阑珊!

Cloudflare Pages

Cloudflare Pages 之前也有在用,但绑定自定义域名需要把域名的 DNS 转移到 Cloudflare,稍显麻烦。今天上去重新折腾了一下,发现可以沿用当前的 DNS 提供商(不用再修改 DNS)。只需要设置 CNAME 记录以将您的域指向 Cloudflare 即可。
image.png

完美!