正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

GitLab Pagesのデフォルトドメイン名とURL

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated

GitLab Pagesは、ネームスペースとプロジェクト名に基づいてデフォルトのドメイン名を提供します。これらのドメインは、次のとおりです:

  • プロジェクトサイト、ユーザーサイト、およびグループサイトに対して予測可能なURLを生成します。
  • GitLabの組織構造を反映した階層パスをサポートします。
  • 有効にすると、自動リダイレクトで一意のドメイン名を作成します。
  • カスタムドメイン名とSSL/TLS証明書でシームレスに動作します。
  • ユーザー、グループ、およびサブグループのプロジェクト全体でスケールします。

このガイドでは、GitLab Pagesがドメイン名とURLをWebサイトに割り当てる方法と、それに応じて静的サイトジェネレーターを設定する方法について説明します。

GitLab Pagesのデフォルトドメイン名

独自のGitLabインスタンスを使用してGitLab Pagesでサイトをデプロイする場合は、Pagesワイルドカードドメインをシステム管理者にご確認ください。このガイドは、GitLab.com(*.gitlab.io)のPagesワイルドカードドメインを独自のドメインに置き換える場合は、どのGitLabインスタンスにも有効です。

GitLabでGitLab Pagesプロジェクトを設定すると、namespace.example.ioのサブドメインで自動的にアクセスできるようになります。namespaceは、GitLab.comのユーザー名、またはこのプロジェクトを作成したグループ名で定義されます。GitLab Self-Managedの場合は、example.ioをインスタンスのPagesドメインに置き換えます。GitLab.comの場合、Pagesドメインは*.gitlab.ioです。

GitLab Pagesの種類GitLabのプロジェクトのパスの例WebサイトのURL
ユーザーページusername/username.example.iohttp(s)://username.example.io
グループページacmecorp/acmecorp.example.iohttp(s)://acmecorp.example.io
ユーザーが所有するプロジェクトページusername/my-websitehttp(s)://username.example.io/my-website
グループが所有するプロジェクトページacmecorp/webshophttp(s)://acmecorp.example.io/webshop
サブグループが所有するプロジェクトページacmecorp/documentation/product-manualhttp(s)://acmecorp.example.io/documentation/product-manual

一意のドメインを使用設定が有効になっている場合、Pagesはフラット化されたプロジェクト名と6文字の一意のIDから一意のドメイン名を構築します。ユーザーは、これらのユニークドメインURLにブラウザをリダイレクトする308 Permanent Redirectステータスを受け取ります。ブラウザは、このリダイレクトを次のようにキャッシュする可能性があります:

GitLab Pagesの種類GitLabのプロジェクトのパスの例WebサイトのURL
ユーザーページusername/username.example.iohttp(s)://username-example-io-123456.example.io
グループページacmecorp/acmecorp.example.iohttp(s)://acmecorp-example-io-123456.example.io
ユーザーが所有するプロジェクトページusername/my-websitehttps://my-website-123456.gitlab.io/
グループが所有するプロジェクトページacmecorp/webshophttp(s)://webshop-123456.example.io/
サブグループが所有するプロジェクトページacmecorp/documentation/product-manualhttp(s)://product-manual-123456.example.io/

例のURLの123456は、6文字の一意のIDです。たとえば、一意のIDがf85695の場合、最後の例はhttp(s)://product-manual-f85695.example.io/です。

一般的なドメイン名とHTTPSで提供されるネームスペースに関する既知の制限事項がいくつかあります。そのセクションを必ずお読みください。

Pagesドメインを明確に理解するには、以下の例をお読みください。

以下の例は、一意のドメインを使用設定を無効にしたことを示唆しています。無効にしていない場合は、前のテーブルを参照して、example.iogitlab.ioで置き換えてください。

プロジェクトのWebサイトの例

  • ユーザー名johnblogというプロジェクトを作成したので、プロジェクトのURLはhttps://gitlab.com/john/blog/になります。このプロジェクトでGitLab Pagesを有効にし、サイトをビルドした後、https://john.gitlab.io/blog/でアクセスできます。
  • websitesというすべてのWebサイトのグループを作成し、このグループのプロジェクトはblogと呼ばれます。プロジェクトのURLはhttps://gitlab.com/websites/blog/です。このプロジェクトでGitLab Pagesを有効にすると、サイトはhttps://websites.gitlab.io/blog/で利用できるようになります。
  • エンジニアリングengineeringという部署のグループ、すべてのドキュメントWebサイトのサブグループdocsを作成し、このサブグループのプロジェクトはworkflowsと呼ばれます。プロジェクトのURLはhttps://gitlab.com/engineering/docs/workflows/です。このプロジェクトでGitLab Pagesを有効にすると、サイトはhttps://engineering.gitlab.io/docs/workflowsで利用できるようになります。

ユーザーおよびグループのWebサイトの例

  • ユーザー名johnで、john.gitlab.ioというプロジェクトを作成しました。プロジェクトのURLはhttps://gitlab.com/john/john.gitlab.ioです。プロジェクトでGitLab Pagesを有効にすると、Webサイトはhttps://john.gitlab.ioで公開されます。
  • グループwebsitesで、websites.gitlab.ioというプロジェクトを作成しました。プロジェクトのURLはhttps://gitlab.com/websites/websites.gitlab.ioです。プロジェクトでGitLab Pagesを有効にすると、Webサイトはhttps://websites.gitlab.ioで公開されます。

General example(一般的な例):

  • GitLab.comでは、プロジェクトサイトは常にhttps://namespace.gitlab.io/project-slugで利用できます。
  • GitLab.comでは、ユーザーまたはグループのWebサイトはhttps://namespace.gitlab.io/で利用できます。
  • GitLabインスタンスで、gitlab.ioをPagesサーバーのドメインに置き換えます。システム管理者にこの情報を問い合わせてください。

URLとベースURL

baseurlオプションの名前は、静的サイトジェネレーターによって異なる場合があります。

すべての静的サイトジェネレーター(SSG)のデフォルト設定では、Webサイトが(サブ)ドメイン(example.com)の下にあることを想定しており、そのドメインのサブディレクトリ(example.com/subdir)にあることは想定していません。したがって、プロジェクトWebサイト(たとえば、namespace.gitlab.io/project-slug)を公開する場合は常に、静的サイトジェネレーターのドキュメントでこの設定(ベースURL)を探し、このパターンを反映するように設定する必要があります。

たとえば、Jekyllサイトの場合、baseurlはJekyll設定ファイル、_config.ymlで定義されます。WebサイトのURLがhttps://john.gitlab.io/blog/の場合は、次のようにこの行を_config.ymlに追加する必要があります:

baseurl: "/blog"

反対に、デフォルトの例のいずれかをフォークした後にWebサイトをデプロイする場合、すべての例がプロジェクトWebサイトであるため、baseurlはすでにこの方法で設定されています。ユーザーまたはグループのWebサイトを作成する場合は、プロジェクトからこの設定を削除する必要があります。先ほど説明したJekyllの例では、Jekyllの_config.ymlを次のように変更する必要があります:

baseurl: ""

プレーンHTMLの例を使用している場合は、baseurlを設定する必要はありません。

カスタムドメイン

GitLab Pagesは、HTTPまたはHTTPSで提供されるカスタムドメインとサブドメインをサポートしています。詳細については、GitLab PagesカスタムドメインとSSL/TLS証明書を参照してください。