ライセンスファイルまたはキーを使用してGitLab EEをアクティブ化します
GitLabからライセンスファイルを受け取った場合(たとえば、トライアル版の場合)、インスタンスにアップロードするか、インストール時に追加できます。ライセンスファイルは、.gitlab-license拡張子を持つbase64エンコードされたASCIIテキストファイルです。
GitLabインスタンスに初めてサインインするときに、ライセンスを追加ページへのリンクが記載されたメモが表示されます。
それ以外の場合は、管理者エリアでライセンスを追加します。
管理者エリアにライセンスを追加
- 管理者としてGitLabにサインインします。
- 左側のサイドバーの下部で、管理者を選択します。
- 設定 > 一般を選択します。
- ライセンスを追加エリアで、ファイルをアップロードするか、キーを入力してライセンスを追加します。
- Terms of Service(利用規約) チェックボックスを選択します。
- ライセンスを追加を選択します。
インストール中にサブスクリプションをアクティブ化
インストール中にサブスクリプションをアクティブ化するには、アクティベーションコードでGITLAB_ACTIVATION_CODE環境変数を設定します:
export GITLAB_ACTIVATION_CODE=your_activation_codeインストール中にライセンスファイルを追加
ライセンスをお持ちの場合は、GitLabのインストール時にインポートすることもできます。
自己コンパイルによるインストールの場合:
Gitlab.gitlab-licenseファイルをconfig/ディレクトリに配置します。ライセンスのカスタムロケーションとファイル名を指定するには、ファイルへのパスで
GITLAB_LICENSE_FILE環境変数を設定します:export GITLAB_LICENSE_FILE="/path/to/license/file"
Linuxパッケージインストールの場合:
Gitlab.gitlab-licenseファイルを/etc/gitlab/ディレクトリに配置します。ライセンスのカスタムロケーションとファイル名を指定するには、このエントリを
gitlab.rbに追加します:gitlab_rails['initial_license_file'] = "/path/to/license/file"
Helmチャートのインストールでは、
global.gitlab.license構成キーを使用します。
これらの方法は、インストール時にライセンスを追加するだけです。ライセンスを更新またはアップグレードするには、Webユーザーインターフェースの管理者エリアにライセンスを追加します。
ライセンス使用状況データを送信
オフライン環境でライセンスファイルまたはキーを使用してインスタンスをアクティブ化する場合は、将来の購入と更新を簡単にするために、ライセンス使用状況データを毎月送信することをお勧めします。データを送信するには、ライセンス使用状況をエクスポートするして、更新サービス(renewals-service@customers.gitlab.com)にメールで送信します。You must not open the license usage file before you send it(送信する前に、ライセンス使用状況ファイルを開かないでください)。そうしないと、ファイルの内容が使用中のプログラムによって操作され(たとえば、タイムスタンプが別の形式に変換される可能性があります)、ファイルの処理時にエラーが発生する可能性があります。
サブスクリプションの開始日以降、毎月データを送信しない場合は、サブスクリプションに関連付けられているアドレスにメールが送信され、データを送信するように促すバナーが表示されます。バナーは管理者エリアのダッシュボードおよびサブスクリプションページに表示され、使用状況ファイルをダウンロードした後に無視することができます。ライセンス使用状況データを送信してから翌月までしか無視するできません。
ライセンスの有効期限が切れるとどうなりますか
ライセンスの有効期限が切れる15日前になると、今後の有効期限が記載された通知バナーがGitLab管理者に表示されます。
ライセンスは、有効期限日の開始時(サーバー時間00:00)に失効します。
ライセンスの有効期限が切れると、GitLabはGitプッシュやイシューの作成などの機能をロックします。インスタンスは読み取り専用になり、すべての管理者に有効期限メッセージが表示されます。
たとえば、ライセンスの開始日が2024年1月1日で、終了日が2025年1月1日の場合を考えてみましょう:
- ライセンスは、2024年12月31日のサーバー時間11:59:59 PMに失効します。
- ライセンスは、2025年1月1日のサーバー時間12:00:00 AMから有効期限切れと見なされます。
読み取り専用状態を削除して機能を再開するには、サブスクリプションを更新します。
ライセンスの有効期限が30日以上切れている場合は、機能を再開するために新しいサブスクリプションを購入する必要があります。
Free機能に戻るには、有効期限切れのライセンスをすべて削除します。
ライセンスを削除
GitLab Self-Managedインスタンスからライセンスを削除するには:
- 左側のサイドバーの下部で、管理者を選択します。
- サブスクリプションを選択します。
- ライセンスを削除を選択します。
過去に適用されたものを含め、すべてのライセンスを削除するには、これらの手順を繰り返します。
ライセンスの詳細と履歴を表示
ライセンスの詳細を表示するには:
- 左側のサイドバーの下部で、管理者を選択します。
- サブスクリプションを選択します。
複数のライセンスを追加および表示できますが、現在の期間でアクティブなライセンスは最新のライセンスのみです。
将来の日付のライセンスを追加すると、適用可能な日付まで有効になりません。Subscription history(サブスクリプションの履歴)テーブルに、アクティブなサブスクリプションがすべて表示されます。
ライセンスの使用状況情報をCSVファイルにエクスポートすることもできます。
Railsコンソールのライセンスコマンド
次のコマンドは、Railsコンソールで実行できます。
データを直接変更するコマンドは、正しく実行されなかった場合、または適切な条件下で実行されなかった場合、損害を与える可能性があります。念のため、インスタンスのバックアップを復元できるように準備し、Test環境で実行することを強くお勧めします。
現在のライセンス情報を表示
# License information (name, company, email address)
License.current.licensee
# Plan:
License.current.plan
# Uploaded:
License.current.created_at
# Started:
License.current.starts_at
# Expires at:
License.current.expires_at
# Is this a trial license?
License.current.trial?
# License ID for lookup on CustomersDot
License.current.license_id
# License data in Base64-encoded ASCII format
License.current.data
# Confirm the current billable seat count excluding guest users. This is useful for customers who use an Ultimate subscription tier where Guest seats are not counted.
User.active.without_bots.excluding_guests_and_requests.count将来開始するライセンスとの相互作用
# Future license data follows the same format as current license data it just uses a different modifier for the License prefix
License.future_datedインスタンスでプロジェクト機能が使用可能かどうかを確認する
features.rbにリストされている機能。
License.current.feature_available?(:jira_dev_panel_integration)プロジェクトでプロジェクト機能が使用可能かどうかを確認する
features.rbにリストされている機能。
p = Project.find_by_full_path('<group>/<project>')
p.feature_available?(:jira_dev_panel_integration)コンソールからライセンスを追加する
key変数を使用する
key = "<key>"
license = License.new(data: key)
license.save
License.current # check to make sure it appliedライセンスファイルを使用する
license_file = File.open("/tmp/Gitlab.license")
key = license_file.read.gsub("\r\n", "\n").gsub(/\n+$/, '') + "\n"
license = License.new(data: key)
license.save
License.current # check to make sure it appliedこれらのスニペットをファイルに保存してRailsランナーを使用することで、シェル自動化スクリプトでライセンスを適用できます。
これは、たとえば、有効期限切れのライセンスと複数のLDAPサーバーを含む既知のエッジケースで必要になります。
ライセンスを削除
ライセンスの履歴テーブルをクリーンアップするには:
TYPE = :trial?
# or :expired?
License.select(&TYPE).each(&:destroy!)
# or even License.all.each(&:destroy!)トラブルシューティング
管理者エリアにサブスクリプションエリアがない
サブスクリプションエリアがないため、ライセンスを追加できません。この問題は、次の場合に発生する可能性があります:
- GitLab Community Editionを実行している。ライセンスを追加する前に、Enterprise Editionにアップグレードする必要があります。
- GitLab.comを使用している。GitLab Self-ManagedインスタンスライセンスをGitLab.comに追加することはできません。GitLab.comで有料機能を使用するには、別のサブスクリプションを購入してください。
更新時にユーザーがライセンス制限を超える
GitLabは、追加のユーザーを購入するように求めるメッセージを表示します。この問題は、インスタンス内のユーザー数をカバーするのに十分なユーザーがいないライセンスを追加した場合に発生します。
この問題を解決するには、これらのユーザーをカバーするために追加のシートを購入してください。詳細については、ライセンスFAQをお読みください。
GitLab 14.2以降では、ライセンスファイルを使用するインスタンスの場合、次のルールが適用されます:
- ライセンスを超えるユーザーがライセンスファイル内のユーザーの10%以下の場合は、ライセンスが適用され、次回の更新時に超過料金が支払われます。
- ライセンスを超えるユーザーがライセンスファイル内のユーザーの10%を超える場合は、より多くのユーザーを購入しない限り、ライセンスを適用できません。
たとえば、100人のユーザーのライセンスを購入した場合、ライセンスを追加するときに110人のユーザーを持つことができます。ただし、111人のユーザーがいる場合は、ライセンスを追加する前により多くのユーザーを購入する必要があります。
ライセンスを追加した後もStart GitLab Ultimate trialが表示される
この問題を解決するには、PumaまたはGitLabインスタンス全体を再起動します。