GitLab Pages

  • GitLab Enterprise Edition 8.3で導入されました
  • TLSをサポートするカスタムCNAMEはGitLab Enterprise Edition 8.5で導入されました。
  • GitLab 8.17でGitLab Community Editionに移植されました。
  • GitLab 11.8でサブグループプロジェクトのウェブサイトがサポートされました
  • GitLab 11.8でバンドルプロジェクトテンプレートが導入されました。

GitLab Pagesを使えば、GitLabのリポジトリから静的ウェブサイトを直接公開することができます。

  • 個人またはビジネスのウェブサイトにご利用ください。
  • 任意の静的サイトジェネレータ (SSG) またはプレーン HTML を使用してください。
  • プロジェクト、グループ、ユーザーアカウントのウェブサイトを作成できます。
  • ご自身のGitLabインスタンスまたはGitLab.comで、サイトを無料でホスティングできます。
  • カスタムドメインとTLS証明書を接続します。
  • コンテンツに任意のライセンスを付与します。
PagesがサポートするSSGの例

Pagesを使ってウェブサイトを公開するには、Gatsby, Jekyll, Hugo, Middleman, Harp, Hexo, BrunchなどのSSGを使うことができます。 また、プレーンなHTML, CSS, JavaScriptで直接書かれたウェブサイトを公開することもできます。

Pagesは、.php.asp が必要とするような、動的なサーバーサイド処理をサポートしていません動的なWebサイトと比較した静的なWebサイトの詳細については、こちらをご覧ください。

利用を開始

GitLab Pages ウェブサイトを作成するには:

ドキュメント 説明
サンプルプロジェクトのフォーク サンプルプロジェクトをフォークして、Pagesが設定済みの新規プロジェクトを作成します。
新規プロジェクトテンプレートの使用 新規プロジェクトテンプレートを使用して、Pagesが設定済みの新規プロジェクトを作成します。
.gitlab-ci.yml テンプレートを使用します。 既存のプロジェクトにPagesサイトを追加します。 事前に設定されたCIテンプレートファイルを使用します。
gitlab-ci.yml ファイルをゼロから作成します。 既存のプロジェクトにPagesサイトを追加します。 独自のCIファイルを作成し、設定する方法を学びます。

GitLab Pages ウェブサイトを更新するには:

ドキュメント 説明
GitLab Pagesのドメイン名、URL、ベースURL GitLab Pagesのデフォルトドメインについて学びます。
GitLabのページを見る 要件、技術的側面、GitLab CI/CD設定オプション、アクセスコントロール、カスタム404ページ、制限、FAQ。
カスタムドメインとSSL/TLS証明書 カスタムドメインとサブドメイン、DNSレコード、SSL/TLS証明書。
Let’s Encryptインテグレーション Let’s Encrypt証明書はGitLabによって自動的に取得され、更新されます。
CloudFlare証明書 CloudFlare証明書でPagesサイトをセキュリティ保護。

もっと詳しく、例をご覧ください:

ドキュメント 説明
静的なウェブサイトと動的なウェブサイト 静的サイトと動的サイトの概要
最新の静的サイトジェネレータ SSGの概要。
GitLab PagesでSSGサイトを構築 GitLabページにSSGを使用します。

どのように動作するか

GitLab Pagesを使うには、ウェブサイトのファイルをアップロードするプロジェクトをGitLabに作成する必要があります。 これらのプロジェクトは公開、内部、非公開のいずれかにすることができます。

GitLabは常にリポジトリ内のpublic という非常に特定のフォルダからウェブサイトをデプロイします。 GitLabで新しいプロジェクトを作成すると、リポジトリが自動的に利用可能になります。

サイトをデプロイするために、GitLabはGitLab CI/CDと呼ばれる組み込みツールを使ってサイトを構築し、GitLab Pagesサーバーに公開します。 このタスクを達成するためにGitLab CI/CDが実行する一連のスクリプトは、.gitlab-ci.ymlというファイルから作成されます。このファイルは自由に作成・変更することができます。設定ファイルのpages という特定のjob は、GitLab PagesウェブサイトをデプロイしていることをGitLabに認識させます。

GitLabPagesのウェブサイトには、GitLabのデフォルトドメインである*.gitlab.io、もしくは独自ドメイン(example.com)を使うことができます。その場合、Pagesで設定するにはドメインのレジストラ(もしくはコントロールパネル)の管理者権限が必要になります。

以下の図は、Pagesを使い始めるためのワークフローです。

GitLab Pagesの新しいプロジェクト

Pagesサイトへのアクセス

GitLab Pagesのデフォルトドメイン(.gitlab.io)を使用している場合、ウェブサイトは自動的にセキュリティ保護され、HTTPSで利用できるようになります。独自のカスタムドメインを使用している場合は、オプションでSSL/TLS証明書で保護することができます。

GitLab.comを使用している場合、ウェブサイトはインターネットに公開されます。 ウェブサイトへのアクセスを制限するには、GitLab Pages Access Controlを有効にしてください。

セルフマネージドインスタンス(Core、Starter、Premium、またはUltimate)を使用している場合、お客様のウェブサイトは、システム管理者が選択したPages管理設定に従って、お客様自身のサーバーで公開され、公開または内部公開が可能です。

ページの例

GitLab PagesのWebサイトには、特定の目的のために作られた素晴らしい例がいくつかあります。 これらの例は、あなた自身のニーズに合わせて使える高度なテクニックを教えてくれます:

セルフマネージドインスタンス用の GitLab Pages の管理

GitLabのセルフマネージドインスタンス(GitLab Community EditionとEnterprise Edition)を実行している場合は、管理手順に従ってPagesを設定してください。

GitLab Pages管理の始め方についてのビデオチュートリアルをご覧ください。