内容提要
作者将静态博客从Vercel迁移到使用GitHub Action进行部署,选择了texify3主题并进行了二次开发。通过GitHub Action实现自动化构建和部署,使用R2作为静态文件托管。文章还提到了遇到的问题和解决方法,认为从Vercel升级到GitHub Action更接近正式的CICD流程,是工程师的成长之路。
关键要点
-
作者将静态博客从Vercel迁移到使用GitHub Action进行部署。
-
选择了texify3主题并进行了二次开发,增加了自己喜欢的功能。
-
迁移的原因是Vercel在部署时存在Sass兼容性问题,导致CSS无法编译。
-
使用Hugo、GitHub Action和Cloudflare R2作为静态文件托管。
-
GitHub Pages只支持公共仓库,因此选择R2来保护源文件。
-
通过编写yaml文件实现自动化构建和部署,分为Build和Deploy两个部分。
-
Build部分包括安装Hugo和Node.js依赖,生成ShortID用于版本控制。
-
Deploy部分将构建的文件上传到R2,并解决了文件版本和访问问题。
-
使用index.html文件实现自动跳转到ShortID路径,解决404问题。
-
整体迁移过程贴近正式的CICD流程,体现了工程师的成长。
延伸问答
为什么作者选择将博客从Vercel迁移到GitHub Action?
作者迁移的原因是Vercel在部署时存在Sass兼容性问题,导致CSS无法编译。
在迁移过程中,作者使用了哪些技术栈?
作者使用了Hugo、GitHub Action和Cloudflare R2作为静态文件托管。
GitHub Action的自动化构建和部署是如何实现的?
通过编写yaml文件,分为Build和Deploy两个部分,Build部分安装依赖并生成ShortID,Deploy部分上传构建的文件到R2。
作者在迁移过程中遇到了哪些问题?
作者遇到了R2的文件版本问题和访问404的问题。
如何解决R2的404访问问题?
通过在Cloudflare中添加重定向规则,强制在非资源链接后面添加index.html。
从Vercel迁移到GitHub Action对作者的成长有什么影响?
作者认为这一过程更贴近正式的CICD流程,体现了工程师的成长。