無料ユーザも使えます!GitLab Self-Managed EEで有料機能を無料で使い倒す「Registration Features Program」完全ガイド
はじめに:Self-Managed版だからこそできること
GitLabには、クラウドで使えるSaaS版(GitLab.com)と、自社サーバーにインストールして使うSelf-Managed版があります。この記事は Self-Managed版を使っている方、または導入を検討している方 に向けた内容です。
Self-Managed版を使うなら、ぜひ知っておいてほしいことがあります。
GitLab CEではなく、GitLab EEの無料プランを使ってください。
「EEって有料でしょ?」と思った方、そうではありません。GitLab EEはライセンスなしでも動作し、その状態では機能的にCEと差はほとんどありません。そして、後述する Registration Features Program を有効にすることで、通常は有料のEE機能を 無料で使えるようになります。
CEを使い続けるのは、正直もったいないです。
Registration Features Programとは
対象バージョン:GitLab 14.1以降
Registration Features Programは、GitLab Enterprise Edition(EE)をSelf-Managedで運用しているFreeユーザーが、Service Pingと呼ばれる利用統計の送信を許可することで、有料機能の一部が無料で解放される仕組みです。CEユーザーは対象外なので、この点でもEEへの切り替えが重要です。
GitLab社としては、利用データを収集することでプロダクト改善に活かしたい。ユーザーとしては、無料で有料機能が使いたい。このWin-Winの関係で成り立っているプログラムです。
なお、このプログラムで機能が解放されても、有料プランからその機能がなくなるわけではありません。有料ユーザーが損をする仕組みではなく、Freeユーザーへの追加的な特典として提供されています。
有料機能を使うためにお金を払う前に、まずこのプログラムを有効にしているかどうか確認してみてください。
何が無料になるの?
GitLab 14.1以降、以下の機能が順次無料で使えるようになっています。
| 機能 | 利用可能バージョン |
|---|---|
| Email from GitLab | 14.1以降 |
| Repository size limit | 14.4以降 |
| Group access restriction by IP address | 14.4以降 |
| View description change history | 16.0以降 |
| Maintenance mode | 16.0以降 |
| Configurable issue boards | 16.0以降 |
| Coverage-guided fuzz testing | 16.0以降 |
| Modify password complexity requirements | 16.0以降 |
| Group wikis | 16.5以降 |
| Issue analytics | 16.5以降 |
| Custom Text in Emails | 16.5以降 |
| Contribution analytics | 16.5以降 |
| Group file templates | 16.6以降 |
| Group webhooks | 16.6以降 |
| Service Level Agreement countdown timer | 16.6以降 |
| Lock project membership to group | 16.6以降 |
| Users and permissions report | 16.6以降 |
| Advanced search | 16.6以降 |
| DevOps Adoption | 16.6以降 |
| Cross-project pipelines with artifacts dependencies | 16.7以降 |
| Feature flag related issues | 16.7以降 |
| Merged results pipelines | 16.7以降 |
| CI/CD for external repositories | 16.7以降 |
| CI/CD for GitHub | 16.7以降 |
GitLab 16.6以降のバージョンを使っているなら、Advanced searchやGroup webhooks、DevOps Adoptionといった実用的な機能が、すべて無料で使えるようになります。
有効化する前に:Service Pingとは
Registration Features Programの有効化には、Service Ping の有効化が前提条件です。
Service Pingとは、GitLabインスタンスの利用統計情報を週次でGitLab社に送信する仕組みです。送信される内容は、機能の利用状況や採用状況に関するデータです。
このデータはGitLab社がプロダクトの改善に活用します。Service Pingの有効化は、Registration Features Programを利用するための前提条件のひとつです。実際にプログラムを有効にするには、後述の手順でRegistration Featuresのチェックボックスも合わせてオンにする必要があります。
なお、Self-Managed版の無料インスタンスでは、Service Pingはデフォルトでオプトアウト(任意参加)となっています。強制ではありません。
有効化の手順
管理者権限を持つアカウントでログインして、以下の手順で設定します。
1. 管理者エリアに移動する
画面右上の「Admin」を選択します。
2. 設定画面へ
左サイドバーから「Settings」→「Metrics and profiling」を選択します。
3. Usage statisticsセクションを展開
「Usage statistics」のセクションを展開します。
4. Service Pingを有効化
「Enable Service Ping」チェックボックスをオンにします。
5. Registration Featuresを有効化
「Enable Registration Features」チェックボックスをオンにします。
6. 保存
「Save changes」を選択して完了です。
これだけです。
補足:Service Pingの3つの設定
GitLabのService Ping関連設定は、以下の3つに分かれています。それぞれの関係を理解しておくと、細かく制御できます。
Enable Service Ping
Service Pingデータを実際にGitLab社へ送信するかどうかの設定です。これをオンにすると、Service Ping Generationも自動的に有効になり、変更できなくなります。
Enable Service Ping Generation
インスタンス上でService Pingデータを生成するかどうかの設定です。「送信はしたくないが、社内分析に使いたい」という場合に、Service Pingをオフにしたうえでこちらだけをオンにできます。
Include optional data in Service Ping
任意メトリクスを送信データに含めるかどうかの設定です。上記いずれかが有効な場合のみ選択できます。
Registration Features Programを使うには「Enable Service Ping」のオンが必須です。
ペイロードの確認方法
「実際に何のデータが送られているか確認したい」という場合は、管理者エリアから送信内容のJSONプレビューを確認できます。
- 管理者エリアの「Settings」→「Metrics and profiling」へ移動
- 「Usage statistics」を展開
- 「Preview payload」を選択
送信前に内容を確認できるので、安心して利用できます。
インターネット非接続環境の場合
インスタンスがインターネットに接続できない環境でも、ペイロードを手動でアップロードする方法が用意されています。これはRegistration Features Programとは別の話ですが、Service Pingの統計データをGitLab社に届けたい場合の補足情報として紹介します。
- 管理者エリアの「Usage statistics」から「Download payload」でJSONファイルを保存
- Service usage data center にアクセス
- ダウンロードしたJSONファイルをアップロード
アップロードは暗号化されたHTTPS通信で行われるため、安全です。
まとめ
Self-Managed版のGitLabを使っているなら、今すぐCEからEEに切り替えて、Registration Features Programを有効にすることをおすすめします。手順は数分で完了し、追加費用は一切かかりません。
Advanced searchやGroup webhooks、DevOps Adoptionなど、チームの生産性を上げる機能が一気に使えるようになります。GitLabはまだまだ使いこなせる機能が眠っています。ぜひこれを機会に、GitLabをもっと活用してみてください。