我想使用 Github Pages 发布一个生产网站(例如,www.example.com)以及同一网站的临时版本(例如,staging.example.com)。
我在 Github 中为生产站点设置了一个存储库(例如 my-jekyll-website),创建了 gh-pages 分支,并将存储库根级别中的 CNAME 文件设置为 www.example.com。效果很好。
现在,将更改推送到 staging.example.com 的最不痛苦的方法是什么?
我尝试过的一件事是在 Github 上设置第二个远程存储库(例如 my-jekyll-website-staging),然后将其作为远程存储添加到我的本地 git 配置中。效果很好,但需要将存储库中的 CNAME 文件更改为 staging.example.com 才能正常工作。这不好,因为当我想部署到生产环境时,我需要将 CNAME 文件更改回 www.example.com。不理想。 我看过使用 git
过滤内容驱动程序,但如果我理解正确的话,那就是在本地修改文件,而不是将文件的不同版本推送到不同的远程。 编辑:我还考虑过根本不使用自定义域进行暂存:即仅使用 username.github.io/my-jekyll-website-staging。不幸的是,我的站点根目录相对链接(例如 /images/foo.bar)中断了,因为现在生产和登台之间的基本 URL 不同。
我正在使用 Hostinger VPS,它有一个 Git 部署和 Git Web hooks 选项。创建 GitHub Action 工作流程,并添加一个步骤以向 Hostinger 的 Web hook URL 触发
curl
命令