Skip to main content

GitHub Pages について

GitHub Pages を使って、自分自身、組織、プロジェクトに関する Web サイトを、GitHub.com 上のリポジトリから直接ホストできます。

GitHub Pagesは、GitHub Free及びOrganizationのGitHub Freeのパブリックリポジトリ、GitHub Pro、GitHub Team、GitHub Enterprise Cloud、GitHub Enterprise Serverのパブリック及びプライベートリポジトリで利用できます。 詳細については、「GitHub's products」を参照してください。

GitHub Pages について

GitHub Pages は、GitHub Enterprise Cloud のリポジトリから HTML、CSS、および JavaScript ファイル を直接取得し、任意でビルドプロセスを通じてファイルを実行し、ウェブサイトを公開できる静的なサイトホスティングサービスです。 GitHub Pages サイトの例は、GitHub Pages サンプル コレクションで確認できます。

GitHub の github.io ドメインまたは独自のカスタム ドメインでサイトをホストできます。 詳細については、「GitHub Pages でカスタムドメインを使用する」を参照してください。

Enterprise で Enterprise Managed Users が使われていない場合、サイトのアクセス制御を管理することで、プロジェクト サイトのパブリックまたはプライベートな発行を選択できます。 詳しい情報については、GitHub Enterprise Cloud の「GitHub Pages サイトの可視性を変更する。"

作業を開始する場合は、「GitHub Pages サイトを作成する」を参照してください。

組織の所有者は、組織のリポジトリからの GitHub Pages サイトの公開を無効にすることができます。 詳細については、「Organization の GitHub Pages サイトの公開を管理する」を参照してください。

GitHub Pages サイトの種類

GitHub Pages サイトには、3 つの種類があります。プロジェクト、ユーザ、そして Organization です。 プロジェクトサイトは、JavaScript ライブラリやレシピ集など、GitHub Enterprise Cloud の特定のプロジェクトに関するものです。 ユーザーと組織のサイトは、GitHub.com 上の特定のアカウントに接続されます。

ユーザー サイトを公開するには、自分の個人アカウントが所有する <username>.github.io という名前のリポジトリを作成する必要があります。 組織サイトを公開するには、<organization>.github.io という名前の組織が所有するリポジトリを作成する必要があります。 カスタム ドメインを使用している場合を除き、ユーザーおよび組織サイトは http(s)://<username>.github.io または http(s)://<organization>.github.io で利用できます。

プロジェクトサイトのソースファイルは、プロジェクトと同じリポジトリに保存されます。 カスタム ドメインを使用している場合を除き、プロジェクト サイトは http(s)://<username>.github.io/<repository> または http(s)://<organization>.github.io/<repository> で利用できます。

サイトをプライベートに公開する場合、サイトの URL は異なります。 詳細については、「GitHub Pages サイトの可視性の変更」を参照してください。

カスタム ドメインがサイトの URL にどのように影響するかについて詳しくは、「カスタム ドメインと GitHub Pages について」を参照してください。

GitHub Enterprise Cloud のアカウントごとに作成できるユーザまたは Organization サイトは 1 つだけです。 Organization または個人アカウントで所有するプロジェクト サイトの数には、制限がありません。

GitHub Pages サイトの公開元

警告: エンタープライズが Enterprise Managed Users を使用しない限り、サイトのリポジトリがプライベートまたは内部であっても、GitHub Pages サイトは既定でインターネット上で一般公開されます。 サイトのアクセス制御を管理することで、サイトをプライベートで公開できます。 それ以外の場合、サイトのリポジトリにセンシティブなデータがあるなら、公開前にそのデータを取り除くのが良いでしょう。 詳細については、「リポジトリについて」および「GitHub Pages サイトの可視性の変更」を参照してください。

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

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

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

詳しい情報については、「GitHub Pages サイトの公開元の構成」を参照してください。

Enterprise Managed Users の制限

managed user account の場合、GitHub Pages の使用が制限されます。

  • GitHub Pages サイトは、Organization が所有するリポジトリからのみ公開できます。
  • GitHub Pages サイトは、エンタープライズのその他のメンバーのみが見ることができます。
  • 組織サイト (<organization>.github.io という名前のリポジトリから発行されたサイト) を作成することはできません

Enterprise Managed Users の詳しい情報については、「Enterprise Managed Users について」を参照してください。

静的サイト ジェネレーター

GitHub Pages は、リポジトリにプッシュされたあらゆる静的ファイルを公開します。 静的ファイルを自分で作成することも、静的サイトジェネレータでサイトをビルドすることも可能です。 ローカルまたは別のサーバー上で独自のビルドプロセスをカスタマイズすることもできます。

カスタム ビルド プロセスまたは Jekyll 以外の静的サイト ジェネレーターを使用する場合は、GitHub Actions を作成して、サイトをビルドして公開することができます。 GitHub Enterprise Cloud では、いくつかの静的サイト ジェネレーターのスターター ワークフローが提供されます。 詳しい情報については、「GitHub Pages サイトの公開元の構成」を参照してください。

ソース ブランチからサイトを公開する場合、GitHub Pages では、既定で Jekyll を使用してサイトをビルドします。 Jekyll 以外の静的サイト ジェネレーターを使用する場合は、代わりに GitHub Actions を作成してサイトをビルドして公開することをお勧めします。 それ以外の場合は、公開元のルートに .nojekyll という名前の空のファイルを作成して Jekyll ビルド プロセスを無効にし、静的サイト ジェネレーターの指示に従ってローカルでサイトをビルドします。

GitHub Pages は、PHP、Ruby、Python などのサーバーサイド言語はサポートしていません。

GitHub Pagesの利用上の制限

2016 年 6 月 15 日以降に作成され、github.io ドメインを使用する GitHub Pages サイトは、HTTPS 経由で提供されます。 2016 年 6 月 15 日までにサイトを作成した場合は、サイトへのトラフィックに対して、HTTPS サポートを有効にすることができます。 詳細については、HTTPS での GitHub Pages の保護に関するページを参照してください。

禁止される用途

GitHub Pages は、オンライン ビジネス、eコマース サイト、主に商取引の円滑化またはサービスとしての商用ソフトウェア (SaaS) の提供のどちらかを目的とする、その他の Web サイトを運営するための無料の Web ホスティング サービスとしての使用を意図したものではなく、またそのような使用を許可するものでもありません。 GitHub Pages サイトは、パスワードやクレジットカード番号といった機密情報のやりとりに使うべきではありません。

さらに、GitHub Pages の使用には、一獲千金を狙った計画、わいせつなコンテンツ、暴力的あるいは脅迫的なコンテンツや活動に関する制限など、GitHub 利用規約が適用されます。

Usage limits (使用状況の制限)

GitHub Pages サイトには、次の使用制限があります:

  • GitHub Pages ソース リポジトリには、1 GB の推奨上限があります。 詳細については、ディスク クォータの概要に関するページを参照してください。

  • 公開されたGitHub Pagesのサイトは1GB以上であってはなりません。

  • GitHub Pages サイトには、月当たり 100 GB の ソフトな 帯域幅制限があります。

  • GitHub Pages サイトには、1 時間あたり 10 ビルドの "ソフト" 制限があります。** カスタム GitHub Actions ワークフローでサイトをビルドして公開する場合、この制限は適用されません

  • すべての GitHub Pages サイトに一貫したサービス品質を提供するために、レート制限が適用される場合があります。 これらのレート制限は、GitHub Pages の正当な使用を妨げるものではありません。 要求がレート制限をトリガーする場合は、説明を含む HTML 本文と共に、HTTP 状態コードを 429 伴う適切な応答を受け取ります。

あなたのサイトがこれらの使用割当量を超えている場合、あなたのサイトにサービスを提供できないか、GitHub Support から、あなたのサイトが当社のサーバーに与える影響を減らす方法を示唆するメールが届くことがあります。そうした方法の例としては、サードパーティのコンテンツ配信ネットワーク (CDN) をサイトの前に配置したり、リリースなどの他の GitHub 機能を利用したり、ニーズに合った別のホスティングサービスに移行したりすることなどが挙げられます。

GitHub Pages での MIME タイプ

MIME タイプとは、ブラウザがリクエストするファイルの性質やフォーマットに関する情報を提供するため、サーバーがブラウザに送信するヘッダのことです。 GitHub Pages は、数千のファイル拡張子にわたり、750 を超える MIME タイプをサポートしています。 サポートされている MIME の種類の一覧は、mime-db プロジェクトから生成されます。

ファイルごと、リポジトリごとにカスタム MIME タイプを指定することはできませんが、GitHub Pages で使う MIME タイプを追加や変更することは可能です。 詳細については、mime-db のコントリビューション ガイドラインを参照してください。

参考資料