Skip to main content

GitHub Pages サイトの公開元を設定する

変更が特定のブランチにプッシュされたときに公開するように GitHub Pages サイトを構成することも、GitHub Actions ワークフローを作成してサイトを公開することもできます。

この機能を使用できるユーザーについて

People with admin or maintainer permissions for a repository can configure a publishing source for a GitHub Pages site.

GitHub Pagesは、パブリック・リポジトリのGitHub Freeと組織用のGitHub Free、パブリック・リポジトリとプライベート・リポジトリのGitHub Pro、GitHub Team、GitHub Enterprise Cloud、GitHub Enterprise Serverで利用できます。 詳しくは、「GitHub のプラン」をご覧ください。

GitHub Pages で、Jekyll ビルドの実行に GitHub Actions が使用されるようになりました。 ビルドのソースとしてブランチを使用する際、組み込みの Jekyll ワークフローを使用する場合は、リポジトリで GitHub Actions を有効にする必要があります。 GitHub Actions が使用できない場合、または無効になっている場合は、ソース ブランチのルートに .nojekyll ファイルを追加すると、Jekyll ビルド プロセスがバイパスされ、コンテンツが直接デプロイされます。 GitHub Actions の有効化の詳細については、「リポジトリの GitHub Actions の設定を管理する」を参照してください。

公開元について

変更が特定のブランチにプッシュされたときにサイトを公開できます。または、GitHub Actions ワークフローを記述してサイトを公開することもできます。

サイトのビルド プロセスを制御する必要がない場合は、変更が特定のブランチにプッシュされたときにサイトを公開することをお勧めします。 公開ソースとして使用するブランチとフォルダーを指定できます。 ソース ブランチにはリポジトリ内の任意のブランチを指定でき、ソース フォルダーにはソース ブランチのリポジトリ (/) のルートまたはソース ブランチの /docs フォルダーのいずれかを指定できます。 変更がソース ブランチにプッシュされるたびに、ソース フォルダー内の変更が GitHub Pages サイトに公開されます。

Jekyll 以外のビルド プロセスを使用する場合、または専用ブランチでコンパイル済みの静的ファイルを保持したくない場合は、GitHub Actions ワークフローを記述してサイトを公開することをお勧めします。 GitHub には、ワークフローの記述に役立つ一般的な公開シナリオ用のワークフロー テンプレートが用意されています。

警告: GitHub Pages サイトは、そのリポジトリがプライベート(プランまたは組織が許可する場合)であってもインターネットからのアクセスに対して公開されます。 サイトのリポジトリにセンシティブなデータがあるなら、公開前にそのデータを取り除くのが良いでしょう。 詳しくは、「リポジトリについて」を参照してください。

ブランチからの公開

  1. 公開元として使用するブランチがリポジトリ内に既に存在していることを確認します。

  2. GitHubで、サイトのリポジトリにアクセスしてください。

  3. リポジトリ名の下にある [設定] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。

    タブを示すリポジトリ ヘッダーのスクリーンショット。 [設定] タブが濃いオレンジ色の枠線で強調表示されています。

  4. サイド バーの [コードと自動化] セクションで、 [ ページ] をクリックします。

  5. [ビルドとデプロイ] の [ソース] で、 [ソースからのデプロイ] を選択します。

  6. [ビルドとデプロイ] で、ブランチ ドロップダウン メニューを使って、公開元を選びます。

    GitHub リポジトリの Pages 設定のスクリーンショット。 [なし] というラベルの付いた公開元のブランチを選ぶメニューが、濃いオレンジ色の枠線で囲まれています。

  7. 必要に応じて、フォルダー ドロップダウン メニューを使って公開元のフォルダを選択します。

    GitHub リポジトリの Pages 設定のスクリーンショット。 [/(root)] というラベルの付いた公開元のフォルダーを選ぶメニューが、濃いオレンジ色の枠線で囲まれています。

  8. [保存] をクリックします。

ブランチからの公開のトラブルシューティング

Note: If your repository contains symbolic links, you will need to publish your site using a GitHub Actions workflow. For more information about GitHub Actions, see "GitHub Actions ドキュメント."

:

  • ブランチから公開しようとしていて、サイトが自動的に公開されていない場合は、管理者アクセス許可と検証済みの電子メール アドレスを持つユーザーが公開ソースにプッシュしていることを確認してください。

  • GITHUB_TOKEN を使う GitHub Actions ワークフローによってプッシュされたコミットでは、GitHub Pages ビルドがトリガーされません。

公開ソースとして任意のブランチの docs フォルダーを選択し、後でリポジトリ内のそのブランチから /docs フォルダーを削除した場合、サイトはビルドされず、見つからない /docs フォルダーのページ ビルド エラー メッセージが表示されます。 詳しくは、「GitHub Pages サイトの Jekyll ビルドエラーに関するトラブルシューティング」を参照してください。

GitHub Pagesサイトは、GitHub Pagesサイトを別のCIツールを使ってビルドするように設定している場合であっても、常にGitHub Actionsワークフローの実行によってデプロイされます。 ほとんどの外部 CI ワークフローは、ビルド出力をリポジトリの gh-pages ブランチにコミットすることによって GitHub Pages に "デプロイ" し、通常は .nojekyll ファイルが含まれます。 これが行われた場合、GitHub Actionsワークフローはブランチにビルドのステップが必要ない状態になっていることを検出し、サイトをGitHub Pagesサーバーにデプロイするのに必要なステップだけを実行します。

ビルドあるいはデプロイメントでの潜在的なエラーを見つけるには、リポジトリのワークフロー実行をレビューすることによって、GitHub Pagesサイトのためのワークフローの実行をチェックできます。 詳しくは、「ワークフロー実行の履歴を表示する」を参照してください。 エラーが発生した場合のワークフローの再実行について詳しくは、「ワークフローとジョブの再実行」をご覧ください。

カスタム GitHub Actions ワークフローによる公開

GitHub Actions を使用して公開するサイトを構成するには、次の手順を行います。

  1. GitHubで、サイトのリポジトリにアクセスしてください。

  2. リポジトリ名の下にある [設定] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。

    タブを示すリポジトリ ヘッダーのスクリーンショット。 [設定] タブが濃いオレンジ色の枠線で強調表示されています。

  3. サイド バーの [コードと自動化] セクションで、 [ ページ] をクリックします。

  4. [ビルドとデプロイ] の [ソース] で、 [GitHub Actions] を選びます。

  5. GitHub により、いくつかのワークフロー テンプレートが提案されます。 サイトを公開するワークフローが既にある場合、この手順をスキップできます。 それ以外の場合、GitHub Actions ワークフローを作成するオプションのいずれかを選択します。 カスタム ワークフローの作成に関する詳しい情報については、「サイトを公開するカスタム GitHub Actions ワークフローの作成」を参照してください。

    GitHub Pages では、特定のワークフローを GitHub Pages 設定に関連付けません。 ただし、GitHub Pages 設定は、最近サイトをデプロイしたワークフロー実行にリンクされます。

サイトを公開するカスタム GitHub Actions ワークフローの作成

GitHub Actions について詳しくは、「GitHub Actions ドキュメント」をご覧ください。

GitHub Actions で発行するようにサイトを構成する場合、GitHub により、一般的な公開シナリオのワークフロー テンプレートが提案されます。 ワークフローの一般的なフローは、次のとおりです。

  1. リポジトリの既定のブランチへのプッシュがあるたびに、またはワークフローが [Actions] タブから手動で実行されるたびに、トリガーされます。
  2. actions/checkout アクションを使用してリポジトリの内容をチェックアウトします。
  3. サイトで必要な場合、静的サイト ファイルをビルドします。
  4. actions/upload-pages-artifact アクションを使用して静的ファイルを成果物としてアップロードします。
  5. ワークフローが既定のブランチへのプッシュによってトリガーされた場合、actions/deploy-pages アクションを使用して成果物をデプロイします。 ワークフローが pull request によってトリガーされた場合、この手順はスキップされます。

ワークフロー テンプレートでは、github-pages という名前のデプロイ環境を使用します。 github-pages という名前の環境がリポジトリにまだ含まれていない場合、この環境は自動的に作成されます。 既定のブランチのみがこの環境にデプロイできるように、デプロイ保護ルールを追加することをお勧めします。 詳しくは、「デプロイに環境の使用」を参照してください。

: リポジトリ ファイル内の CNAME ファイルでは、カスタム ドメインは自動的に追加または削除されません。 代わりに、リポジトリ設定または API を使用してカスタム ドメインを構成する必要があります。 詳細については、「GitHub Pages サイトのカスタムドメインを管理する」および「GitHub Pages 用 REST API エンドポイント」を参照してください。

カスタム GitHub Actions ワークフローによる公開のトラブルシューティング

GitHub Actions ワークフローのトラブルシューティング方法については、「ワークフローの監視とトラブルシューティング」をご覧ください。