Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

GitHub Pages から Jekyll サイトを移行する

最終更新 Markdown で表示Agent セットアップ

このチュートリアルでは、既存の Jekyll を使った GitHub Pages サイト を Cloudflare Pages へ移行します。Jekyll は GitHub Pages でよく使われる静的サイトジェネレーターの 1 つです。GitHub Pages サイトの Cloudflare Pages への移行は、短い手順で完了します。

このチュートリアルでは次を行います。

  1. GitHub Pages が使う依存関係を、プロジェクト設定に追加します。
  2. 既存の GitHub リポジトリに接続した、新しい Cloudflare Pages サイトを作成します。
  3. Cloudflare Pages でサイトをビルドしてデプロイします。
  4. (任意)カスタムドメインを移行します。

ビルド時間を含めても、所要時間は 15 分未満です。

始める前に

このチュートリアルの前提は次のとおりです。

  1. Jekyll を使った既存の GitHub Pages サイトがあること。
  2. Ruby のコマンドラインツールに慣れており、gembundle がインストールされていること。
  3. addcommitpushpull など、基本的な Git 操作を使えること。
  4. Cloudflare Pages の はじめに を読んでいること。

マシンに Rubygems(gem)または Bundler(bundle)が入っていない場合は、RubygemsBundler のインストールガイドを参照してください。

GitHub Pages リポジトリを準備する

既存の Jekyll ベースのリポジトリでは、ビルド手順 中に Cloudflare Pages が依存関係を取得してインストールできるよう、Gemfile(Ruby の依存関係設定ファイル)を指定する必要があります。

具体的には、Gemfile を作成し、GitHub Pages 環境が前提とする依存関係をすべて含む github-pages gem をインストールします。

Pages ビルド環境のバージョン 2 では、デフォルトの Jekyll ビルドに Ruby 3.2.2 を使います。ローカルの開発環境に互換性があることを確認してください。

Ruby のバージョンを設定するsh
brew install [email protected]
export PATH="/usr/local/opt/[email protected]/bin:$PATH"
Gemfile を作成するsh
cd my-github-pages-repo
bundle init

作成された Gemfile を開き、ファイルの末尾に次の行を追加します。

github-pages のバージョンを指定するruby
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 が作成されます。

bundle update を実行するsh
bundle update
# Bundler will show a lot of output as it fetches the dependencies

正常に完了するはずです。失敗した場合は、上の github-pages の行を正確にコピーしたこと、先頭の # でコメントアウトしていないことを確認してください。

続く手順で Cloudflare Pages が参照できるよう、これらのファイルをリポジトリへコミットします。

Gemfile と Gemfile.lock をコミットするsh
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 ページを開きます。

    Workers & Pages を開く ↗
  2. Create application > Pages > Import an existing Git repository を選びます。

  3. 作成した新しい GitHub リポジトリを選び、Set up builds and deployments セクションで次の情報を入力します。

Configuration option Value
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-username>.github.io の代わりに <your-pages-site>.pages.dev を指すようにします。

レコード作成時に設定した DNS TTL(生存時間)によっては、DNS キャッシュの期限切れと変更の反映に時間がかかることがあります。

詳細な手順は、はじめにガイドの カスタムドメインを追加する を参照してください。

次のステップ

役に立ちましたか?