Klocwork ライセンスの仕組み

ライセンスサーバーのインストールとセットアップについては、「Validate のインストール」で概要を紹介し、「組織の Reprise サーバーの使用」で詳細に説明しています。

ライセンスタイプ

Perforce Static Analysis ツールには、以下の基本的なライセンスタイプがあります。

  • ビルドライセンス:CI/CD システムなど、主に解析結果を生成するためのものです。
  • ユーザーライセンス:解析結果を一元的に使用するユーザー用 (Validate ポータルユーザーライセンス)、および IDE プラグインとデスクトップ GUI を使用して独自のデスクトップ解析チェックを実行するユーザー用 (Klocwork Desktop ユーザーライセンス)。
  • Validate プラットフォームライセンス:Validate サーバーのインスタンスを実行するために使用されます。
  • 言語ライセンス:C、C++、Java などの言語をサポートするための権限ベースのライセンス。
  • コンプライアンスモジュールライセンス:MISRA C、CERT C++、CWE などのコンプライアンスモジュール用の権限ベースのライセンス。

これらの各ライセンスタイプについては、以降のセクションで詳しく説明します。

ビルドライセンス

ビルドライセンスを使用すると、結果を Validate サーバーデータベースにロードする前に、サポートされている言語に対するコマンドラインベースの完全、増分、または部分解析ジョブを実行することができます。ビルドライセンスは、フローティングライセンスと固定ライセンスのいずれかです。

固定またはフローティングビルドライセンス

固定 (ノードロック) ビルドライセンスは、単一の専用物理または仮想ビルドサーバーマシンで使用することを目的としています。ライセンスはマシンにロックされ、2 週間のロック期間中はそのマシンで保持されます。このライセンスタイプは、専用マシンにインストールして解析を実行するために必要です。たとえば、通常は、特定のビルドマシンを持つ単一のプロジェクトグループで必要になります。

フローティング (同時) ビルドライセンスは、ビルドエージェント仮想マシンまたはコンテナーが CI/CD パイプラインを通じて作成され、プロセスの終了時に破棄される、プロビジョニングされたビルドシステム (Perforce Puppet など) で使用することを目的としています。新しいパイプラインごとに新しいマシン ID が使用されるので、フローティングライセンスについては特定の時点で並行して実行されているジョブの数がカウントされます。つまり、1 つのフローティングビルドライセンスでは特定の時点における 1 つの解析ジョブを実行することができ、2 つのフローティングビルドライセンスでは特定の時点における 2 つの解析ジョブを実行できるということになります。

ライセンスプールに固定ビルドライセンスとフローティングビルドライセンスを混在させるには、特に固定ビルドホストを対象とする予約ライセンスが必要です。

ビルドライセンスを使用するツール

  • kwadmin および validate admin (解析をロードする場合)
  • kwbuildproject
  • kwciagent

ユーザーライセンス

ユーザーライセンスには以下の 2 つのタイプがあります。

  • デスクトップユーザーライセンス:デスクトップツール (Klocwork Desktop、コマンドラインツール、IDE プラグインなど) へのアクセスを可能にします。
  • Validate ユーザーライセンス:Validate へのログインを可能にします。

標準ユーザーライセンス (完全 Klocwork ユーザーライセンス) では、デスクトップユーザーライセンスと Validate ユーザーライセンスの両方が提供されます。

CI/CD システム内でのみ作業する品質保証などの部門、または解析ステータスとプロジェクトのコンプライアンスの概要を把握するために Validate へのアクセスを必要とする部門は、Validate ユーザーライセンスのみを使用するように選択することができます。

ユーザーライセンスの仕組み

ライセンスは、あるユーザーによってユーザー名に基づいてチェックアウトされると、解除されるまではそのユーザー用に予約されます。ユーザーは、同じユーザー ID でログインしている限り、いつでも必要なときに任意のマシンでライセンスを使用することができます。

異なるオペレーティングシステムにログインするために異なるユーザー ID がある場合は、ユーザー ID ごとに 1 つのライセンスが使用されます。たとえば、Windows 認証システムでは John.Smith というユーザー ID を使用してログインする必要がある一方で、Linux システムでは同じ企業認証システムに接続されていないので jsmith を使用する場合は、2 つのユーザーライセンスが使用されます。

ユーザーライセンスを使用するツール

以下のツールでは、デスクトップユーザーライセンス (kw_desktop_user) を使用します。

  • Klocwork Desktop (kwgcheck)
  • Klocwork IDE プラグイン
  • コマンドラインツール (kwcheck)

Validate ポータルには、Validate ユーザーライセンス (validate_user) が必要です。

ユーザーライセンスの解除方法

ユーザーライセンスは、デフォルトで名前が付けられ、ユーザーごとに無期限に保持されます。ライセンスは、RLM License Manager を使用して、待機期間なしで即座に解除することができます。

特定のユーザー ID からライセンスが解除されると、その同じユーザーは、10 日間、そのライセンスを再取得することができません。

このオプションは、ライセンス管理者に最大限の権限を提供するため、50 ユーザー未満の小規模なインストールに最適です。

自動的に解除されるユーザーライセンス

ユーザーが 50 名以上の大規模なインストールの場合は、ライセンスが自動的に解除されて所定のユーザーリストの維持に役立つオプションを利用することができます。使用されていないユーザーライセンスは、非アクティブ状態が 7 日間続くと自動的に解除されます。標準ライセンスとは異なり、自動的に解除されるライセンスについては、解除後 10 日間にわたって以前のユーザー ID での使用が制限されることはありません。

Validate ポータルライセンス

Validate ポータルライセンスを使用すると、Validate サーバーを実行することができます。

Web サービスライセンスの仕組み

Validate パッケージのインストール後に、Validate サーバーを起動する必要があり、そのためには Web サービスライセンスが必要です。Validate サーバーを停止すると、Validate がライセンスを解除します。実行されている Validate サーバーインスタンスごと (projects_root ディレクトリごとに 1 つ) に Validate ポータルライセンスが使用されます。

validate service ツールは Web サービスライセンスを使用することができます。

ライセンスタイプの概要

利用可能なライセンスタイプの概要については、「Klocwork ライセンストークン」を参照してください。