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 Actions ワークフローを記述してサイトを公開することもできます。

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

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

警告

GitHub Pages サイトは、そのサイトのリポジトリがプライベートであっても、インターネット上で一般に利用できます (プランまたは organization で許可されている場合)。 サイトのリポジトリにセンシティブなデータがあるなら、公開前にそのデータを取り除くのが良いでしょう。 詳しくは、「リポジトリについて」をご覧ください。

ブランチからの公開

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

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

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

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

  4. サイドバーの [Code and automation] セクションで、[ Pages] をクリックします。

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

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

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

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

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

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

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

メモ

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 サイトは、別の CI ツールを使用してビルドするようにGitHub Actions サイトを構成した場合でも、常にGitHub Pagesワークフロー実行で展開されます。 ほとんどの外部 CI ワークフローは、ビルド出力をリポジトリの GitHub Pages ブランチにコミットしてgh-pagesに "デプロイ" し、通常は.nojekyll ファイルを含めます。 この場合、 GitHub Actions ワークフローは、ブランチにビルド ステップが必要ない状態を検出し、サイトを GitHub Pages サーバーに展開するために必要な手順のみを実行します。

ビルドまたはデプロイで発生する可能性のあるエラーを見つけるには、リポジトリのワークフロー実行を確認して、 GitHub Pages サイトのワークフロー実行を確認できます。 詳しくは、「ワークフロー実行の履歴を表示する」をご覧ください。 エラーが発生した場合にワークフローを再実行する方法の詳細については、「ワークフローとジョブの再実行」を参照してください。

カスタム GitHub Actions ワークフローで公開する

GitHub Actionsを使用して発行するようにサイトを構成するには:

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

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

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

  3. サイドバーの [Code and automation] セクションで、[ Pages] をクリックします。

  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 ページ サイトのカスタム ドメインの管理」および「GitHub Pages 用 REST API エンドポイント」を参照してください。

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

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