You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让GitHub Pages仅构建指定部分,保留_clusters下已生成页面?

解决GitHub Pages仅构建特定部分的问题

以下是几个实用方案,帮你避免每次推送都重新构建数千个_clusters页面:

方案一:将_clusters作为静态文件直接托管

  • 把已经构建完成的_clusters文件夹直接放到仓库根目录(不要放在Jekyll的源文件目录,比如_posts、_layouts这类Jekyll会自动处理的目录里)
  • 不要在_config.yml的exclude里添加_clusters,Jekyll默认不会处理现成的HTML静态文件,推送其他修改时,Jekyll只会构建你改动的部分,而_clusters里的文件会直接被复制到最终的_site目录,既不会重新构建,也不会被删除。

方案二:用分支拆分构建任务

  • 新建两个分支:
    • full-build分支:专门用来更新_clusters页面,这里的_config.yml不排除_clusters,每次需要更新_clusters时,在这个分支上执行完整构建后推送
    • main分支:日常开发用,在_config.yml里把_clusters加入exclude,但提前把full-build分支里构建好的_clusters文件夹内容手动复制到main分支的根目录(作为静态文件)
  • 日常修改网站其他部分时,直接推送到main分支,GitHub Pages只会构建排除了_clusters的内容,根目录的静态_clusters文件会被保留;需要更新_clusters时,切换到full-build分支完成构建,再同步静态文件到main分支即可。

方案三:用GitHub Actions自定义构建逻辑

  • 先在GitHub Pages设置里禁用自动构建,改用GitHub Actions来控制整个流程
  • 编写Actions脚本,添加判断逻辑:
    • 如果本次提交的修改文件不涉及_clusters相关路径,就只构建网站其他部分,同时把仓库里预先存好的已构建_clusters文件夹复制到输出的_site目录
    • 如果提交包含_clusters的修改,再执行完整的Jekyll构建
  • 这样就能精准控制每次构建的范围,避免不必要的重复构建。

内容的提问来源于stack exchange,提问作者Gabriel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 12:24:58