web-dev-qa-db-ja.com

C ++ Jenkins QAスタック/ツール

現在、C++開発用のQAスタックを構築中です。

すでに複数のJenkinsインスタンスが実行されており、CIサーバーをJavaとphp。

私が求めているのは、Jenkinsを使用したC++開発に使用できるツールチェーンへのポインタです。

より具体的(中括弧内のJava/phpの例):

  • A unit testing framework that test and produces coverage reports (jUnit / phpUnit)
  • A coding guidelines checker (checkstyle / phpCodeSniffer)
  • 何か [〜#〜] pmd [〜#〜] コードベース(pmd/phpmd)の潜在的な問題を特定します
  • 該当する場合/必要な場合はもっと多くなりますが、これらの3つは私が推測する基本でしょうか?

バウンティ編集:

私の質問に対する許容できる回答を得たとき、私はこのプロジェクトでJenkinsを使用するためのより多くのツール/オプション/理由を提供するように求められました。

過去に、私はこの点で商用ツールで次善の経験をしました。 (何?保存したい!これらのレポート?次に、豪華なグラフを生成できる追加の10k Bucks/Yearプラグインを購入する必要があります!)私はここで間違っているかもしれません。

しかし、主にC++開発とQAのためにJenkinsで使用するツールの完全なスタックを探しています

36
edorian

C&C++でJenkinsを使用しています。これらは私たちが使用したツールであり、役立つと思います。これらはすべてJenkinsで使用できます。

  • ユニットテストフレームワーク- cppunitcppunitプラグインを使用してJenkinsに直接フィードできるxmlを出力します
  • カバレッジ: gcov + gcovr は適切なカバレッジレポートを生成します
  • コーディングガイドラインチェッカー:pclintwarnings pluginを使用できます。
  • Mess Detector:混乱の意味がわかりませんが、コードの重複チェックに PMD/CPD を使用しており、 [〜#〜] nsiq [〜#〜]複雑さとLOC

静的分析には cppcheck も使用します。

お役に立てば幸いです。

35
Sagar

Jenkinsgoogletest ユニットテストフレームワーク。

  • テストを実行すると、jUnit準拠のxmlが生成されます。
  • 実行される可能性が高いほとんどすべてのコンパイラに移植されます。

私自身のリンクをたどると、私はこれを見つけました:

gcc、googletest、およびHudsonによる継続的なコードカバレッジ

コマンドの最初の3行は、ビルドを実行するだけです。 4行目のコマンドは、構築したバイナリテストアプリケーションを実行し、テスト結果の概要をjunit形式のXMLファイルに出力します。

最後の2つのコマンドは魔法です。これはgcovrスクリプトを実行します。これは、gcov出力をCoberturaスタイルのXMLファイルに変換する便利なpythonスクリプトです。

次にhudsonにビルド後のアクションとしてjunitとカバレッジxmlファイルのビルドワークスペースを検索するように指示する必要があります。ビルドを実行すると、ユニットテストの結果とコードカバレッジの傾向を示すニース概要チャートが表示されます。

12
reechard

私は現在、C/C++プロジェクト用のプラグインxUnitを使用しており、これまでのところ非常にうまく機能しています。

cppunitのWikiページによると、これは保守されなくなっていますが、xUnit( source )に移行されています。

2
Keplah