プロジェクトとサーバー設定のインポート

新しい Klocwork サーバーがインストールされ、ポータルが立ち上がった状態になったら、既存の Klocwork インストールからサーバー設定およびプロジェクトをインポートできます。

既存のソースサーバーからサーバー設定をインポートすると、宛先サーバー上に存在するプロジェクトのみのパーミッション設定とともにすべてのグローバル パーミッション設定がインポートされます。つまり、サーバー A の設定をサーバー B に設定してから、サーバー A のプロジェクトをサーバー B にインポートする場合、プロジェクト A に固有のパーミッション設定はサーバー B に繰り越されません。プロジェクト A のプロジェクト固有パーミッション設定を繰り越すには、インポート操作を実行した後でサーバー設定を再インポートしなければなりません。

ソースサーバー A からターゲットサーバー B にサーバー設定をインポートする場合、次も適用されます。
  • ソースサーバー A の認証設定は、ターゲットサーバー B の認証設定を上作成します。
  • 両方のサーバーに存在する役割の場合、ソースサーバー A の役割のパーミッションによって、ターゲットサーバー B の役割のパーミッションが上作成されます。
  • ソースサーバー A にのみ存在していた役割とそれに関連付けられたパーミッションが、ターゲットサーバー B にコピーされます。
  • ターゲットサーバー B にのみ存在する役割は変更されません。それらのパーミッションは同じままです。

Important: プロジェクトにカスタム設定が含まれている場合は、プロジェクトのインポートを実行した後でサーバー設定を再インポートする必要があります。

また、大量の指摘とビルドを含む projects_root をインポートすると、新しい projects_root が大きくなる可能性があります。

既存のプロジェクトのインポート

  1. Klocwork ポータルで Validate をクリックし、プロジェクトの root 管理者ユーザーとして製品にログインします。
  2. [プロジェクト] タブをクリックします。

    その際、Insight を初めて使用する場合は、[設定またはプロジェクトのインポート] ボタンをクリックします。

    既にプロジェクトを作成したか、またはインポートした場合は、[インポート] ボタンをクリックします。

  3. [Klocwork サーバー接続] ダイアログで、既存の Klocwork インストール (インポート元のインストール) のログインおよび接続情報を指定します。指定項目は以下のとおりです。
    • 既存のサーバーの URL、例: http://server21:8082
    • ユーザー名。サーバーに接続してプロジェクトをインポートするには、プロジェクトの root 管理者権限が必要です。
    • パスワード (必要に応じて)
  4. [サーバー構成のインポート] をクリックして既存のサーバーの構成設定をインポートします。この設定には、認証構成設定、パーミッション、カスタム メトリクス、レポート定義、電子メール購読設定が含まれます。

    デフォルトのプロジェクト設定値が ('kwadmin import-config' を使用して) 既存のポータル上に設定されたのであれば、kwadmin import-config を使用して projects_root/projects/workspace/rules 内のファイルを新しいポータルに手動でインポートする必要があります。

    認証設定をインポートする場合、認証情報が無効になることがあるため、システムからログアウトされることがあります。この場合、今インポートした Admin 認証情報でログインしてください。

  5. [プロジェクトのリスト] をクリックして既存の projects_root にあるプロジェクトのリストを表示します。
  6. [インポートするプロジェクトの選択] ダイアログで、新しい projects_root にインポートするプロジェクトを選択します。

    リリース 2024.1 以降では、プロジェクトを繰り返しインポートしたり、対象サーバー上に既に存在するプロジェクトと同一または類似した名前のソースプロジェクトをインポートしたりできるようになりました。これを容易にするため、対象プロジェクトに新しい名前を指定する必要があります。

  7. [インポート] をクリックします。[Import status] ダイアログに、[プロジェクト インポート]のステータスが表示され、[プロジェクト] タブの上部にインポート ステータス メッセージが表示されます。
    正常にインポートされたプロジェクトはプロジェクトリストに表示されます。
    インポートプロセス中に、プロジェクトがアクティブにインポートされるときに、[プロジェクト] ビューの指摘情報がソースプロジェクトのデータに正確に反映されていない場合があります。[プロジェクト] ビューの情報は、インポート操作が完了すると同時に更新されます。インポート ステータス インジケーターをチェックすると、進行状況を確認できます。
  8. [サーバー構成のインポート] を再びクリックしてプロジェクトに固有の構成設定をインポートします。サーバー設定を再インポートしないとプロジェクトに固有の構成設定はすべて失われるため、このステップは必須です。
  9. インポートするプロジェクトごとに [パーミッション] をクリックして、各プロジェクトのパーミッションが正しいことを確認します。

インポート時以降、各プロジェクトのパーミッションを確認することが重要です。インポート操作が完了するたびにこのプロセスを繰り返し、インポート元の各ソースサーバーのサーバー設定を再インポートするよう注意する必要があります。

Web API を使用したプロジェクトのインポート

Klocwork Web API を使用すると、コマンドラインでプロジェクトをインポートできます。Web API では Web API アクセス権限が必要です。デフォルトでは、プロジェクト管理者役割とプロジェクトの root 管理者役割は Web API にアクセスできます。次の例は、プロジェクトをインポートするための curl スクリプトです。

curl --data "action=import_project&user=myself&project=my_project&sourceURL=
http://oldserver:8080&sourceAdmin=user&sourcePassword=pwd" http://localhost.mycompany.com:8080/review/api

フィールド

  • project は、インポートするプロジェクトの名前です。
  • sourceURL は、インポート元の既存の Klocwork サーバーの URL です。
  • sourceAdmin は、インポート元の Klocwork サーバー管理者 (プロジェクトの root への管理アクセス権を持っている必要があります) のユーザー ID です。
  • sourcePassword は管理者のパスワードです。

インポート元の projects_root フォルダーにあるプロジェクトすべてのリストを取得するには、次のコマンドを実行します。

curl --data "action=projects&user=myself&" http://localhost.mycompany.com:8080/review/api

Web API を使用してサーバー構成設定をインポートすることもできます。

curl --data "action=import_server_configuration&user=myself&sourceURL=
http://oldserver:8080&sourceAdmin=user&sourcePassword=pwd" http://localhost.mycompany.com:8080/review/api

通常、これらの操作のスクリプトは、Python などの言語で作成されています。Python を使用した curl 呼び出しの記述例については、Klocwork Web API クックブックを参照してください。

リリース 2024.1 以降では、プロジェクトを繰り返しインポートしたり、対象サーバー上に既に存在するプロジェクトと同一または類似した名前のソースプロジェクトをインポートしたりできるようになりました。これを容易にするため、newProjectName パラメーターを使用して、対象プロジェクトに新しい名前を指定する必要があります。

分類基準ファイルのインポート

これまでのリリースでカスタム分類基準をインポートしていた場合は、新しい分類基準ファイルを再インポートして変更を反映させる必要があります。分類基準の変更のリストについては、新機能を参照してください。