多数の静的解析ツールを実行しており、ビルドごとに結果を追跡したいと考えています。たとえば、ブランチへのコミットによってセキュリティ脆弱性の数が増える場合、コミッターにメールを送信したいと考えています。Sonar や Analysis Collector などのプラグインがあることは知っていますが、必要なすべての分析領域をカバーしているわけではなく、ビルドの傾向に基づいてアクションをトリガーする機能もないようです (間違っていたら訂正してください)。 )。
2 に答える
Groovy Postbuild プラグインを使用できます。
https://wiki.jenkins-ci.org/display/JENKINS/Groovy+Postbuild+Plugin
現在のビルドのビルドログからデータ (検出された脆弱性の数など) を抽出できます。num_vul = manager.getLogMatcher(regexp)
そして、ビルドログから情報を抽出して、それを以前のビルドと比較します。
currentBuildNumber = manager.build.number
manager.setBuildNumber(currentBuildNumber - 1)
prev_num_vul = manager.getLogMatcher(regexp)
次に、脆弱性の数が増えた場合は、ビルド ステータスを FAILURE に設定する呼び出しmanager.buildFailure()
を行い、次の PostBuild ステップを Email-ext プラグインにします。これにより、問題が発生した場合にコミッターに電子メールを送信できます。失敗。
あなたが説明したことを行うSonarQubeツールをお勧めします。あなたはすでにそれを見たと言いましたが、通知機能またはBuild Breaker Pluginを見逃した可能性があります。Jenkins 統合を中心とした SonarQube 機能が他にもあります。SonarQube は無料で使用できます。
それでも何か足りない場合は、その側面を SonarQube でどのようにカバーできるかを具体的に尋ねる価値があるかもしれません。ちょうど私の2セント。