本文地址: https://saltbo.cn/post/hugo-uptoc-oss.html
使用 Hugo 有一段时间了,和大家一样最开始是是部署在 GithubPages 上,后来觉得 GithubPages 在国内访问太慢了。搜寻一圈发现了 Netlify,用了一段时间,但是速度还不是很满意。那么有没有办法将我们的博客部署到国内的云存储上呢?
答案是肯定的,比如最近被封的 GiteePages。但问题也很明显,它们只开放二级域名(这次的事儿之后二级域名估计也不开放了),自定义域名得用付费版。
国内有很多云储存,比如阿里云的 OSS,七牛,又拍云等。
那么为什么不把我们的静态博客部署在这上面呢?
经过我的实践,实际上我们只缺少一个部署到云储存的 cli 工具而已。
由此,Uptoc 诞生了。https://github.com/saltbo/uptoc
uptoc,即 upload to the cloud。它是一个用于将文件部署到云存储的命令行工具。
curl -sSf http://uptoc.saltbo.cn/install.sh | sh
uptoc --endpoint oss-cn-beijing.aliyuncs.com \
--access_key LTAI4FxxxxxxxBXmS3 \
--access_secret Vt1FZgxxxxxxxxxxxxKp380AI \
--bucket demo-bucket \
/opt/blog/public
只需要简单的参数就可以将目标文件自动同步到云端。当然为了安全考虑,access_key 和 access_secret 支持系统变量,这样我们就可以通过 Travis 等集成工具的后台来配置它们。
现在只需要在你的.travis.yml 中增加如下配置就完成了
after_success:
- curl -sSf http://uptoc.saltbo.cn/install.sh | sh
- uptoc --endpoint oss -cn-zhangjiakou.aliyuncs.com --bucket saltbo-blog public
完整配置详见 https://github.com/saltbo/blog/blob/master/.travis.yml
创建好 bucket,在 bucket 的基础设置里需要进行这两项配置。
uglyURLs = true
想要部署在 oss 上,hugo 的 uglyURLs 选项必须打开。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.