跳至主要内容

关于 GitHub Pages 站点中的 Jekyll 构建错误

如果 Jekyll 在本地或 GitHub 上构建 GitHub Pages 站点时遇到错误,您将收到包含更多信息的错误消息。

谁可以使用此功能?

GitHub Pages 可用于具有 GitHub Free 和 GitHub Free for organizations 的公共存储库,以及具有 GitHub Pro、GitHub Team、GitHub Enterprise Cloud 和 GitHub Enterprise Server 的公共和私有存储库。有关更多信息,请参阅“GitHub 的套餐”。

GitHub Pages 现在使用 GitHub Actions 来执行 Jekyll 构建。当使用分支作为构建的源时,如果要使用内置的 Jekyll 工作流,则必须在存储库中启用 GitHub Actions。或者,如果 GitHub Actions 不可用或已禁用,则将 .nojekyll 文件添加到源分支的根目录将绕过 Jekyll 构建过程并直接部署内容。有关启用 GitHub Actions 的更多信息,请参阅“管理存储库的 GitHub Actions 设置”。

关于 Jekyll 构建错误

如果您是从分支发布的,有时 GitHub Pages 不会在您将更改推送到站点的发布源后尝试构建您的站点。

  • 推送更改的人员尚未验证其电子邮件地址。有关更多信息,请参阅“验证您的电子邮件地址”。
  • 您正在使用部署密钥进行推送。如果您想自动将更改推送到站点的存储库,则可以改为设置机器用户。有关更多信息,请参阅“管理部署密钥”。
  • 您正在使用的 CI 服务未配置为构建您的发布源。例如,除非您将分支添加到安全列表,否则 Travis CI 不会构建 gh-pages 分支。有关更多信息,请参阅 Travis CI 上的“自定义构建”或您的 CI 服务的文档。

注意

将更改推送到 GitHub 后,您的站点可能需要最多 10 分钟才能发布。

如果 Jekyll 确实尝试构建您的站点并遇到错误,您将收到构建错误消息。

有关排查构建错误的更多信息,请参阅“排查 GitHub Pages 站点的 Jekyll 构建错误”。

使用 GitHub Actions 查看 Jekyll 构建错误消息

默认情况下,您的 GitHub Pages 站点将使用 GitHub Actions 工作流运行进行构建和部署,除非您已将 GitHub Pages 站点配置为使用其他 CI 工具。要查找潜在的构建错误,您可以通过查看存储库的工作流运行来检查 GitHub Pages 站点的工作流运行。有关更多信息,请参阅“查看工作流运行历史记录”。有关如何在发生错误时重新运行工作流的更多信息,请参阅“重新运行工作流和作业”。

在本地查看 Jekyll 构建错误消息

我们建议您在本地测试您的站点,这使您可以在命令行上查看构建错误消息,并在将更改推送到 GitHub 之前解决任何构建故障。有关更多信息,请参阅“使用 Jekyll 在本地测试 GitHub Pages 站点”。

在拉取请求中查看 Jekyll 构建错误消息

如果您是从分支发布的,当您创建拉取请求以更新 GitHub 上的发布源时,您可以在拉取请求的“检查”选项卡上查看构建错误消息。有关更多信息,请参阅“关于状态检查”。

如果您使用的是自定义 GitHub Actions 工作流,为了在拉取请求中查看构建错误消息,您必须将工作流配置为在 pull_request 触发器上运行。执行此操作时,我们建议您跳过任何部署步骤,如果工作流是由 pull_request 事件触发的。这将允许您查看任何构建错误,而无需将拉取请求中的更改部署到您的站点。有关更多信息,请参阅“触发工作流的事件”和“在工作流和操作中计算表达式”。

通过电子邮件查看 Jekyll 构建错误消息

如果您是从分支发布的,当您将更改推送到 GitHub 上的发布源时,GitHub Pages 将尝试构建您的站点。如果构建失败,您将在您的主要电子邮件地址收到一封电子邮件。

如果您使用的是自定义 GitHub Actions 工作流,为了接收有关拉取请求中构建错误的电子邮件,您必须将工作流配置为在 pull_request 触发器上运行。执行此操作时,我们建议您跳过任何部署步骤,如果工作流是由 pull_request 事件触发的。这将允许您查看任何构建错误,而无需将拉取请求中的更改部署到您的站点。有关更多信息,请参阅“触发工作流的事件”和“在工作流和操作中计算表达式”。

使用第三方 CI 服务在拉取请求中查看 Jekyll 构建错误消息

您可以配置第三方服务(例如 Travis CI)以在每次提交后显示错误消息。

  1. 如果您尚未添加,请在发布源代码的根目录中添加一个名为Gemfile的文件,内容如下

    source `https://rubygems.org.cn`
    gem `github-pages`
    
  2. 配置您网站的存储库以使用您选择的测试服务。例如,要使用Travis CI,请在发布源代码的根目录中添加一个名为.travis.yml的文件,内容如下

    language: ruby
    rvm:
      - 2.3
    script: "bundle exec jekyll build"
    
  3. 您可能需要使用第三方测试服务激活您的存储库。有关更多信息,请参阅测试服务的文档。