跳转到内容
搜索文档

将基于 Jekyll 的站点从 GitHub Pages 迁移

最后更新 查看 MarkdownAgent 设置

在本教程中,你将了解如何将现有使用 Jekyll 的 GitHub Pages 站点迁移到 Cloudflare Pages。Jekyll 是与 GitHub Pages 配合使用最流行的静态站点生成器之一,将 GitHub Pages 站点迁移到 Cloudflare Pages 只需几个简单步骤。

本教程将引导你完成:

  1. 向项目配置添加 GitHub Pages 使用的必要依赖。
  2. 创建新的 Cloudflare Pages 站点,连接到你现有的 GitHub 仓库。
  3. 在 Cloudflare Pages 上构建并部署站点。
  4. (可选)迁移自定义域名。

包括构建时间在内,本教程应在 15 分钟内完成。

开始之前

本教程假设:

  1. 你已有使用 Jekyll 的 GitHub Pages 站点
  2. 你熟悉运行 Ruby 命令行工具,并已安装 gembundle
  3. 你了解如何使用一些基本的 Git 操作,包括 addcommitpushpull
  4. 你已阅读 Cloudflare Pages 的快速入门指南

若你的机器上未安装 Rubygems(gem)或 Bundler(bundle),请参阅 RubygemsBundler 的安装指南。

准备 GitHub Pages 仓库

现有基于 Jekyll 的仓库必须指定 Gemfile(Ruby 的依赖配置文件),以便 Cloudflare Pages 在构建步骤中获取并安装这些依赖。

具体而言,你需要创建 Gemfile 并安装 github-pages gem,其中包含 GitHub Pages 环境假定的所有依赖。

Pages 构建环境版本 2 将使用 Ruby 3.2.2 作为默认 Jekyll 构建版本。请确保本地开发环境兼容。

Set Ruby Versionsh
brew install [email protected]
export PATH="/usr/local/opt/[email protected]/bin:$PATH"
Create a Gemfilesh
cd my-github-pages-repo
bundle init

打开为你创建的 Gemfile,在文件末尾添加以下行:

Specifying the github-pages versionruby
gem "github-pages", group: :jekyll_plugins

你的 Gemfile 应类似如下:

# frozen_string_literal: true

source "https://rubygems.org"

git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }

# gem "rails"
gem "github-pages", group: :jekyll_plugins

运行 bundle update,将为你安装 github-pages gem,并创建包含已解析依赖版本的 Gemfile.lock 文件。

Running bundle updatesh
bundle update
# Bundler will show a lot of output as it fetches the dependencies

这应成功完成。若未成功,请确认你已准确复制上述 github-pages 行,且未用前导 # 将其注释掉。

现在需要将这些文件提交到仓库,以便 Cloudflare Pages 在后续步骤中引用:

Commit Gemfile and Gemfile.locksh
git add Gemfile Gemfile.lock
git commit -m "deps: added Gemfiles"
git push origin main

配置 Pages 项目

GitHub Pages 项目现已明确指定依赖,你可以开始配置 Cloudflare Pages。该过程与部署 Jekyll 站点几乎相同。

要将站点部署到 Pages:

  1. 在 Cloudflare 仪表板中,前往 Workers & Pages 页面。

    Go to Workers & Pages ↗
  2. 选择 Create application(创建应用程序) > Pages > Import an existing Git repository(导入现有 Git 仓库)

  3. 选择你创建的 GitHub 仓库,在 Set up builds and deployments(设置构建和部署) 部分提供以下信息:

配置选项
Production branch main
Build command jekyll build
Build directory _site

配置站点后,即可开始首次部署。你将看到 Cloudflare Pages 安装 jekyll、项目依赖并构建站点,然后部署。

部署站点后,你将在 *.pages.dev 上获得项目的唯一子域名。每次向 Jekyll 站点提交新代码,Cloudflare Pages 都会自动重新构建并部署项目。你还可以在新拉取请求上获得预览部署,在部署到生产环境之前预览更改效果。

迁移自定义域名

若你在 GitHub Pages 上使用自定义域名,必须更新 DNS 记录以指向新的 Cloudflare Pages 部署。需要在域名的 DNS 提供商处更新 CNAME 记录,指向 <your-pages-site>.pages.dev,替换 <your-username>.github.io

请注意,根据创建记录时设置的 DNS TTL(生存时间)值,DNS 缓存过期并反映此更改可能需要一些时间。

有关详细步骤列表,请参阅快速入门指南中的添加自定义域名部分。

下一步

这篇文档对您有帮助吗?