GitHub Pages について
GitHub Pages は、GitHub Enterprise Server のリポジトリから HTML、CSS、および JavaScript ファイル を直接取得し、任意でビルドプロセスを通じてファイルを実行し、ウェブサイトを公開できる静的なサイトホスティングサービスです。 GitHub Pages サイトの例は、GitHub Pages サンプル コレクションで確認できます。
始めるには、「GitHub Pages サイトを作成する」をご覧ください。
組織の所有者は、組織のリポジトリからの GitHub Pages サイトの公開を無効にすることができます。 詳しくは、「Organization の GitHub Pages サイトの公開を管理する」を参照してください。
GitHub Pages サイトの種類
GitHub Pages サイトには、3 つの種類があります。プロジェクト、ユーザ、そして Organization です。 プロジェクトサイトは、JavaScript ライブラリやレシピ集など、GitHub Enterprise Server の特定のプロジェクトに関するものです。 ユーザーと組織のサイトは、お使いの GitHub Enterprise Server インスタンス 上の特定のアカウントに接続されます。
ユーザー サイトを公開するには、自分の個人アカウントが所有する <username>.<hostname>
という名前のリポジトリを作成する必要があります。 組織サイトを公開するには、<organization>.<hostname>
という名前の組織が所有するリポジトリを作成する必要があります。
プロジェクトサイトのソースファイルは、プロジェクトと同じリポジトリに保存されます。
GitHub Enterprise Server のアカウントごとに作成できるユーザまたは Organization サイトは 1 つだけです。 Organization または個人アカウントで所有するプロジェクト サイトの数には、制限がありません。
サイトを利用できる URL は、お使いの GitHub Enterprise Server インスタンス でサブドメインの分離が有効になっているかどうかで異なります。
サイトの種類 | Subdomain Isolation が有効 | Subdomain isolation が無効 |
---|---|---|
User | http(s)://pages.<hostname>/<username> | http(s)://<hostname>/pages/<username> |
Organization | http(s)://pages.<hostname>/<organization> | http(s)://<hostname>/pages/<organization> |
個人アカウントが所有するプロジェクト サイト | http(s)://pages.<hostname>/<username>/<repository>/ | http(s)://<hostname>/pages/<username>/<repository>/ |
組織アカウントが所有するプロジェクト サイト | http(s)://pages.<hostname>/<orgname>/<repository>/ | http(s)://<hostname>/pages/<orgname>/<repository>/ |
詳しくは、「Subdomain Isolationの有効化」をご覧いただくか、サイト管理者にお問い合わせください。
GitHub Pages サイトの公開元
警告: サイト管理者がパブリック ページを有効にしている場合、サイトのリポジトリがプライベートまたは内部であっても、GitHub Pages サイトはインターネット上で一般公開されます。 サイトのリポジトリにセンシティブなデータがあるなら、公開前にそのデータを取り除くのが良いでしょう。 詳細については、「Enterprise 向けの GitHub Pages を設定する」および「リポジトリについて」を参照してください。
GitHub Pages サイトは、変更が特定のブランチにプッシュされるたびに公開されます。 公開ソースとして使用するブランチとフォルダーを指定できます。 ソース ブランチにはリポジトリ内の任意のブランチを指定でき、ソース フォルダーにはソース ブランチのリポジトリ (/
) のルートまたはソース ブランチの /docs
フォルダーのいずれかを指定できます。 変更がソース ブランチにプッシュされるたびに、ソース フォルダー内の変更が GitHub Pages サイトに公開されます。
詳しくは、「GitHub Pages サイトの公開元を設定する」を参照してください。
静的サイト ジェネレーター
GitHub Pages は、リポジトリにプッシュされたあらゆる静的ファイルを公開します。 静的ファイルを自分で作成することも、静的サイトジェネレータでサイトをビルドすることも可能です。 ローカルまたは別のサーバー上で独自のビルドプロセスをカスタマイズすることもできます。
GitHub Pages に組み込まれている静的サイトジェネレータで、ビルドプロセスを容易化できる Jekyll のご利用をおすすめします。 詳しくは、「GitHub PagesとJekyllについて」を参照してください。
GitHub Pages は、デフォルトでは Jekyll を使ってサイトを構築します。 Jekyll 以外の静的サイト ジェネレーターを使用する場合は、公開元のルートに .nojekyll
という空のファイルを作成し、静的サイト ジェネレーターの指示に従ってローカルでサイトをビルドします。
GitHub Pages は、PHP、Ruby、Python などのサーバーサイド言語はサポートしていません。
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 のデプロイは、10 分を超えるとタイムアウトになります。
GitHub Pages での MIME タイプ
MIME タイプとは、ブラウザがリクエストするファイルの性質やフォーマットに関する情報を提供するため、サーバーがブラウザに送信するヘッダのことです。 GitHub Pages は、数千のファイル拡張子にわたり、750 を超える MIME タイプをサポートしています。 サポートされている MIME の種類の一覧は、mime-db プロジェクトから生成されます。
ファイルごと、リポジトリごとにカスタム MIME タイプを指定することはできませんが、GitHub Pages で使う MIME タイプを追加や変更することは可能です。 詳細については、mime-db のコントリビューション ガイドラインを参照してください。
参考資料
- GitHub Skills の GitHub Pages
- リポジトリ