4

Jenkins を使用して Java ソフトウェア プロジェクトをテストしています (play Web フレームワークを使用していますが、それはあまり重要ではありません)。

テストの一部は、checkstyle を使用するコード スタイルに関するものです。私は次の方法で自分の仕事を設定しようとしました:

  • コマンドラインからcheckstyleを実行すると、xmlでレポートが生成されます

checkstyle -c /usr/share/checkstyle/sun_checks.xml -f xml -r app test -o checkstyle.xml

  • 次に、この Jenkins プラグインを使用してビルド後のアクションを追加します。これにより、xml レポートが読み取られ、ビルド結果に統合されます。

だから、今私の問題は次のとおりです。コードにスタイルの問題がある場合、ジェンキンスはその仕事を失敗と見なします。デフォルトでは、この場合、ビルド後のアクションは実行されません。

それでもレポートが生成されるように、これを変更することができますが、コード スタイルが悪いと失敗と見なされることにまだ悩まされています。それは主観的なものかもしれません。とにかく、これを変更する方法はありますか?そして非常に一般的に、Jenkins はコマンド シェルが失敗したかどうかをどのように判断しますか?

4

1 に答える 1

4

Maincheckstyle のクラスのソース コード( link ) を見ると、終了コードが検出されたスタイルの問題の数 (例外的な場合は 1) であることがわかります。

Jenkins が注目しているのは、終了コード 0 は標準的に成功を示し、ゼロ以外のコードは失敗を示します。

あなたの解決策は、終了コードを無条件に 0 にすることだと思います。このための (bash) コマンドは次のようになります。

checkstyle <arguments...> || true

より一般的には、checkstyle を実行してコード 0 で終了する小さなラッパー スクリプトを作成できます。

于 2013-04-11T16:23:14.717 に答える