既存のプロジェクトを新しいプロジェクトルートにインポートする

Validate には、プロジェクトを既存の projects_root から新しいインストールにインポートできる、簡素な GUI が含まれています。これにより、コマンドラインを使用せずに、プロジェクト単位でデータを移行することができます。

プロジェクトをインポートする前に、新しくインストールする Klocwork 製品でこの機能がサポートされていることを確認してください。

一般的に、このプロセスには以下の手順が必要です。

  1. 既存の projects_root をバックアップする (念のため)。
  2. (新しいマシンで、または別のポート番号を使用して) 新しい Validate サーバーをインストールし、サーバーを起動する。
  3. データベースを検証する。
  4. ポータルを開き、GUI を使用して、既存のプロジェクトを新しいサーバーにインポートする。
  5. 新しいインストールをテストした後に、既存のサーバーをアンインストールし、古い projects_root および/またはバックアップ projects_root を削除する。

お使いになる前に

インポートには、既存のインストール済み Validate (および projects_root) と新規にインストールする Validate (および空の projects_root) を同時に実行する必要があります。新しいサーバーをインストールしたら、既存の projects_root 内のすべてのプロジェクトを空の projects_root にインポートする必要があります。

同じマシン上で 2 台の Validate サーバーを実行するには、それぞれに一意のポート番号が指定されていなければなりません。新しい Validate を同じマシンにインストールする場合は、別のポート番号を使用して既存のサーバーを停止および再起動するようにお勧めします。これによって、新しくインストールしたサーバーに対して既存のポート番号を引き続き使用することができます。

ソフトウェアの新規メジャーリリースに移行する場合、メジャーリリースに新しい Validate ライセンスが必要な場合など、適格なライセンスのあることを確認してください。詳細については、ライセンスを参照してください。

また、1 台のホストで 2 つのライセンスサーバーは実行できません。1 つのライセンスサーバーを実行し、両方の Validate インストールをそのライセンスサーバーにポイントする必要があります。詳細については、複数の projects_root ディレクトリを使用する場合のライセンスを参照してください。

Validate サーバーとデータベース サーバーの両方には、インポート プロセス時に対象のサーバーからアクセスできるように割り当てられた完全修飾ドメイン名か IP アドレスが必要です。localhost は使用しないでください。

インポート操作を実行するには、プロジェクトの root 管理者アクセスが必要です。

プロジェクトのインポートに対応した Validate バージョンについてサポートされるアップグレード パス

下の表で最新のバージョンおよび適切なアップグレード パスを確認してください。適切なバージョンの Validate へのアップグレードが完了したら、アップグレード後の Insight を使用して既存のプロジェクトをインポートしてください。

下のチャートは、最新の現行リリースを正確に示しています。Perforce はここでも役に立ちます。以前のリリースからの移行が必要な場合には、Static Code Analysis プロフェッショナルサービスまでお問い合わせいただき、サービスエンゲージメントを介して相談してください。

Validate のバージョンを使用している場合は、 以下のバージョンのインポートがサポートされています。
2023.1 最新 Validate2023.2 最新
2022.4 最新 Validate2023.2 最新
2022.3 最新 Validate2023.2 最新
2022.2 最新 Validate 2023.2 最新

リリース間の相互運用

Validate の最新の改善点を活用するには、Server、Build、および Desktop Analysis プラグインを常に最新バージョンの製品にアップグレードすることを推奨します。Validate サーバーツールとビルドツールは、各メジャーリリース内でデスクトップ解析プラグインとの互換性があります。

また Validate には、以前のメジャーバージョンの Validate から現在のバージョンの Validate にビルドをロードする機能もあります。たとえば、これは、データのインポートまたは移行を行わずに、Validate 2022 の任意のバージョンから Validate 2023.2 にビルドをロードできるということです。

現行の Validate サーバーのバージョンがインポートされるプロジェクトのバージョン要件を満たさない場合は、既存の Validate のバージョンをサポートされているサービスリリースまたはバージョンに更新します。次に最新バージョンの Validate をインストールします。最新バージョンの Validate をインストールしてから、それを使用して既存の Validate サーバーに接続してプロジェクトをインポートします。プロジェクトをインポートするには、下記の手順に従ってください。

Validateサーバーパッケージのインストール

Validate サーバーパッケージをインストールします。手順については、Validate のインストールを参照してください。

ライセンス ファイルを <projects_root>/licenses にコピーします。

オプションについては、ライセンスを参照してください。

サーバーを起動します。

新しいバージョンの Validate のインストールを完了してから、サーバーを起動します。Validate のインストールごとに、一意のホスト名およびポート番号の組合せを指定する必要があります。

一意のホスト名とポート番号の組合せの指定は、起動時またはインストールプロセス中に行うことができます。

Validate へのログイン

サーバーを起動した後、Validate には、Validate サーバーホスト名の URL とインストール中に選択した Validate サーバーポート (たとえば、server21:8080) を使用して、ブラウザーからアクセスできます。デフォルトでは、Validate をインストールした人が Validate 管理者になり、プロジェクト root 管理者の役割に割り当てられます。最初は、基本認証アクセス制御メソッドが使用されるので、パスワードなしでログインできます。たとえば、インストール時に使用したユーザー アカウントが jsmith の場合、管理者の役割で Validate にログインするには、次の資格情報を使用します。
username: jsmith
password: <empty>
セキュリティと認証方法の詳細については、セキュリティとパーミッションを参照してください。

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

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

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

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

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

大量の指摘とビルドを含む projects_root をインポートすると、新しい projects_root のサイズが大きくなる可能性があるので注意してください。

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

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

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

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

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

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

  5. [プロジェクトのリスト] をクリックして既存の projects_root にあるプロジェクトのリストを表示します。
  6. [インポートするプロジェクトの選択] ダイアログで、新しい projects_root にインポートするプロジェクトを選択します。
  7. [インポート] をクリックします。[Import status] ダイアログに、[プロジェクト インポート]のステータスが表示され、[プロジェクト] タブの上部にインポート ステータス メッセージが表示されます。正常にインポートされたプロジェクトはプロジェクトリストに表示されます。

    インポートプロセス中に、プロジェクトがアクティブにインポートされるときに、[プロジェクト] ビューの指摘情報がソースプロジェクトのデータに正確に反映されていない場合があります。[プロジェクト] ビューの情報は、インポート操作が完了すると同時に更新されます。インポート ステータス インジケーターをチェックすると、進行状況を確認できます。

  8. [サーバー構成のインポート] を再びクリックしてプロジェクトに固有の構成設定をインポートします。サーバー設定を再インポートしないとプロジェクトに固有の構成設定はすべて失われるため、このステップは必須です。
  9. インポートするプロジェクトごとに [パーミッション] をクリックして、各プロジェクトのパーミッションが正しいことを確認します。

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

<old_Validate_install>/config/java_wrappers_memory.conf にあるメモリ割り当てファイルを以前に変更した場合は、それらの変更が引き続き必要であることを確認し、新しいインストールで java_wrappers_memory.conf に同じ変更を加えます。

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

Validate 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 は、インポート元の既存の Validate サーバーの URL です。
  • sourceAdmin は、インポート元の Validate サーバー管理者 (プロジェクトの 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 などの言語で作成されています。

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

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

アップグレードのテスト

プロジェクトおよびビルドが Validate に表示されることを確認します。

新しいライセンスファイルをインストールした場合、ライセンス数が正しいことのチェックにより、ライセンスファイルが正しくインストールされたことを確認します。

新しくインストールされたサーバーの立ち上げ

新しくインストールされたサーバーが有効で、既存のプロジェクトが正しくインポートされことを確認したら、サーバーを立ち上げます。

新しいサーバーの新規で一意のポート番号を選択したら、ユーザーにこの情報を通知してください。

既存のポート番号を再利用する (ユーザーが自身のローカル設定を更新しなくても済むように) 場合は、すべての Validate サーバーを停止して再起動し、新しいサーバーに既存のサーバーのポート番号を指定してください。

Validate を使用した最初の統合ビルド解析の前に

通常、新しいリリースの Validate には、現在のイベントに対応して顧客の要求に応えるようにチェッカー設定が変更されています。これらの変更は、以前のリリースからのチェッカー設定と新しいリリースの設定が異なっていることを意味している可能性があります。

古い設定に対応する正しいチェッカーが有効になっていることを確認してください。新機能で更新されたチェッカーのリストを確認し、チェッカー設定を変更してください。設定が完了したら、build specification (ビルドスペック) を再生成して最新の変更をキャプチャし、修正されていないソースコードで統合ビルド解析を実行します。

既に最初の Validate 解析を実行しており、指摘またはステータス変更の一部が欠落している場合は、そのビルドを削除し、チェッカーを再設定して、新しい解析を実行します。

最後のプレアップグレード統合ビルド解析と最初の Validate 解析を同じソースコードで実行してから、2 つのビルドを比較することをお勧めします。こうすると、解析エンジンの変化を正しく評価できます。このバージョンのチェッカーの改良、追加、削除の詳細については、新機能を参照してください。