qacli validate build

解析を実行し、結果をサーバビルドの一部としてValidateにアップロードします。


使用方法

validate build  -P <directory> [-b <build-name>] [-j <n>] [-I] [--retry <n>] [-o <output-path>] [-T] [-s] [--force-complete] [-c] [--tags <tag[,tag...]>] [-m] [-i] [-E <encoding type>] [--] [-h]

詳しい説明

このコマンドはサーバ環境で結合プロジェクトの解析を実行することを可能にします。解析を実行し、すべての診断をValidateにアップロードします。

また、このコマンドは独立したものとして使用することも、qacli validate cibuild コマンドと共に使用することもできます。

ビルドの使用に対する前提条件:

  • 有効なビルドのライセンス
  • 結合プロジェクトのプロジェクトであること

オプション

オプション名、短縮形 デフォルト 説明
‑‑build‑name, ‑b <build‑name>   Validateへアップロードするときに使用するビルド名を指定します。未指定の場合、アップロードのインクリメントカウントに基づいたデフォルトの名前が使用されます。
‑‑clean, ‑c   解析を実行する前に、すべての解析データを指定の qaf‑project から削除します。
‑‑disable‑metrics, ‑m   メトリックスのアップロードを無効にします。
‑‑encoding, ‑E   プロジェクトのソースファイルで使用されるエンコードです。デフォルトはユーザのシステムのエンコードです。
‑‑force‑complete   処理段階でのエラーを含み、全ファイルの解析の処理を強制すると、処理の途中で終了してしまいます(ライセンスチェック障害など)。‑s と同時に実行できません。
‑‑help, ‑h   使用方法の情報を表示し、終了します。
‑‑ignore‑rest, ‑‑   このフラグ以降のラベルの付いた引数をすべて無視します。
‑‑ignore, ‑i   Validate へアップロードするときの従属性チェックを含むプロジェクトおよび、ファイルチェックを無視します。これによるアップロードは100%完了、正確でない可能性があります。
‑‑inter‑tu‑dataflow, ‑I   翻訳単位間データフロー解析を実行します。
‑‑jobs, ‑j <n>   解析時に同時に実行する処理の最大数を指定します。このオプションのパラメータはすでに設定されている値(qacli config cpu --set <jobs>)および、システムデフォルト(通常コアの数 - 1)をオーバーライドします。
‑‑output‑progress, ‑o   指定したファイルに解析結果が送信されるよう設定します。
‑‑qaf‑project <directory>,
-P <directory>
  (必須)Perforce QACプロジェクトへの有効なパスを指定します。
‑‑retry <n> 3 ライセンス障害または、パーサが予期しないリターンコードを返したために解析が失敗した場合、短い待機の後最大 n回まで再試行できます。デフォルトの再試行回数は、3回に設定されています。この機能は試行回数をゼロに設定することで無効化できます。
‑‑show‑timings, ‑T   ([nd ]HH:MM:SS)のフォーマットで解析のタイミング情報を表示します。nd は日数を表すので、1以上であるときのみ表示されます。
‑‑stop‑on‑fail, ‑s   最初の解析エラーが発生した時に解析を停止します。‑‑force‑complete と同時に実行できません。
‑‑tags   Validate ポータルにアップロードされるCIビルドへカンマで区切られたタグを追加します。個々のタグは最大128文字まで許容され、トータルのタグオプションの最大許容値は256文字です。タグに空白文字を使用することができますが、空白文字は先頭、末尾には使用できません。
‑‑validate‑project, ‑b    設定がValidateに保存されているPerforce QAC プロジェクト生成時に使用するValidate プロジェクト/ストリームの名前です。

サーバビルドをセットアップする

以下の例はサーバビルドを設定し、実行するために qacli で行わなければならない手順について示しています。

静的解析を実行する前にソースコードをフェッチし、既存のPerforce QACプロジェクトは結合され、Validateにアップロードされていることを確認してください。

まだValidateサーバの認証をしていない場合はまず、Validateサーバの認証をしてください。

qacli auth --validate --username <user> --password <pwd> --url <validate_url>

それから、Validateからプロジェクトをフェッチします。

qacli validate config --create -P <project_dir> --url <validate_url> --validate-project <validate_project_name> 

ファイルの追加、削除、ソースとの同期による名前の変更など、Perforce QACプロジェクトが最新の情報に更新されていることを確認してください。

最新のソースとの同期が失敗していると、新しいファイルまたは、名前の変更されたファイルがビルド中に解析されない原因になる可能性があります。

例:

qacli sync -P <project_dir> -t JSON <json_compilation_dbase_path> 

このコマンドを使用するとソースのビルドに使用されたJSONコンパイルデータベースの内容に基づきPerforce QACプロジェクトが迅速に更新されます。詳細については、プロジェクトの同期を参照してください。

これでサーバビルドビルドを実行する準備ができました。


サーバビルドを実行する

このコマンドで、プロジェクトの解析をし、結果をValidateにアップロードします。

qacli validate build -P <project_dir>

新たに出力された結果はValidateサーバにデフォルトのビルド名が付けられアップロードされます。

ビルドが正常に完了したことを必ず確認してから、追加・削除されたファイルの変更を反映するためValidateのプロジェクト設定をアップデートしてください。


タグを含み診断を Validate にアップロードする

Validate にPerforce QACの診断をアップロードし、ビルドにタグおよび、ビルド名を追加するには以下のコマンドを実行します。

qacli validate build -P <project_dir> -b matrix --tags "main,Fix-1,abcd23df45g"