0

私たちのプロジェクトは非常に巨大で、すべてのターゲットを 1 つのコンパイル + 分析 + 公開にまとめると、完了するまでにかなりの時間がかかります。そこで、klocwork 解析を並行して実行したいと思います。

ここに私が今持っているものがあります(ターゲットをさまざまなサブタスクに分割します):

kw-analysis -> kw-analysis-sub-1
   |        -> kw-analysis-sub-2
   |        -> ...
   |        -> kw-analysis-sub-n
   |            |
   |            + the sub-task will handle:
   |                1. compile single target and generate spec: kwinject_<target_name>.out :
   |                   $ export KWWRAP_HOOKS_DIR='/temp/kw/hooks'
   |                   $ export PATH=${KWWRAP_HOOKS_DIR}:$PATH
   |                   $ make <target_name>
   |                   $ kwinject --trace-in "/temp/kw/kwwrap.trace" --output "kwinject_<target_name>.out"
   |                2. trace and anslysis for each target:
   |                   $ kwbuildproject --url "<https://url:port>/<project_name>" [-I] --table-directory kwtable_<target_name> kwinject_<target_name>.out
   |                3. archive kwtable_<target_name> folder
   |
   + leading job will do:
       1. copy all kwtable_<target_name> from sub-analysis jobs (downstream jobs) 
       2. deploy and publish the result into klocwork sever once for all 
          <<<<<< this is the key point of parallel analysis

私が知っているように、単一の kwtable を公開することは次のようになります。

$ kwadmin --url <https://url:port> load --name <build_name> <project_name> kwtable_<target_name>

ただし、次の方法でkwadmin複数の kwtabels をサポートしていないようです。

kwadmin load --name <build_name> ... kwtable_<target_name_1> kwtable_<target_name_2> ...

存在するビルドに追加の結果を追加することもサポートしていません

$ kwadmin load --name <build_name> ... kwtable_<target_name_1> 
            |                                                          
            + create build first

$ kwadmin "append" --name <build_name> ... kwtable_<target_name_2>
            *
            + append new result in <build_name> for anothers kwtables folder

では、klocwork 解析を並行して実行する方法はありますか。ところで、統合ツールとして Jenkins を使用しています

4

1 に答える 1