如何最大限度地减少新静态内容出现在GitHub Pages CDN上的时间?

时间:2018-03-23 16:22:02

标签: jekyll liquid github-pages

假设我们只推送轻量级静态内容,例如没有Liquid标签的小型HTML或JS文件。没有插件,也没有_posts /目录,文件在提交后永远不会更改。

因为没有真正需要构建,理论上如果我们配置incremental_build: truekeep_files: ['.html', '.js'],那么构建应该非常快。

但是,现在,GitHub页面的构建只发生在每5分钟左右,因此有效地存在0到10分钟的滞后。

enter image description here

有没有办法减少文件出现在[repo] .github.io / [path]所需的时间?是否有一些逻辑,例如更多的提交或更多的文件或更多的读取有这样或那样的效果?

1 个答案:

答案 0 :(得分:1)

Github Pages不尊重这些选项。您可以尝试预建站点,但可能会增加部署的总时间。这种构建也可能会立即发生,但CDN需要时间来接收更新并使缓存无效。

您可以尝试使用其他主机(例如在EC2上运行您自己的Jekyll服务器)或让您的构建版本将静态内容上传到S3。

但是,我建议退一步,询问为什么部署时需要不到10分钟的延迟。如果您需要提供高度不稳定的资源,那么您可能需要识别它们并以不同的方式为它们提供服务。静态站点生成器擅长静态内容,而不是高度易变的内容。

如果易失性资源是页面内容,那么听起来你有一个像Wordpress这样的主流CMS更好地服务的用例。如果是代码,则将其单独部署到S3并在您的站点中引用它。