1

ビルドシステムをセットアップしていますが、ダッシュボードの[プロジェクトレポート]セクションとビルド失敗の電子メールに、ビルドに失敗したタスクを表示したいと思います。

現在、私には3つのタスクがあります。

  • SourceControl
  • Msbuild
  • ユニットテスト(CC.Net execタスクのgallio.echoを使用)

後者の2つのいずれかが失敗した場合、どのタスクがビルドに失敗したかは、電子メールまたはビルドレポートページからは明らかではありません。エラーが発生した場所を特定するためにログを調べる必要があります。少なくとも、最初からどのタスクが失敗したかを知りたいです。

これがCruiseControlが行う最高の機能です-ダッシュボードのホームページで:

msbuild fail http://img38.imageshack.us/img38/1018/msbuildfail.png alt text http://img25.imageshack.us/img25/4688/galliofail.png

さて、これは十分ではありません:

  1. プロジェクトまたはそのビルドのビルドレポートをクリックしても、失敗したタスクは表示されません。

  2. この情報は、ログファイルにはまったく含まれていません。これは、XSLをハッキングして電子メールにイベントを取り込むことができないことを意味します。

  3. 私のビルドタスクは唯一のMSBuildタスクになるので、MSBuildTaskと呼ばれることは問題ありません。これは実行可能タスクには当てはまりません。少なくとももう1つまたは2つは失敗する可能性があるためです。私は彼らにわかりやすい名前を付ける必要があります。Gallioexecタスクにはdescriptionノードがありますが、どこで使用されるかわかりません。

    <exec>
    <description>Unit Tests</description>
    <executable>$(path.gallio)</executable>
    </exec>

4

3 に答える 3

3

私はccnetの開発者の1人です。問題がログに記録されました。 http://jira.public.thoughtworks.org/browse/CCNET-1825

于 2010-02-22T07:33:34.507 に答える
1

洗練されたソリューションではありませんが、ターゲットのOnError属性を使用して、静的である必要がある場合でも何かをログに記録することができます。もう1つのオプションは、成功した各ステップをログに記録してから、XSL last()を使用して最後に成功したステップを取得することです。それはひどいです、しかしそれは少なくともあなたが以前に持っていたより多くです。

于 2010-02-18T20:27:56.097 に答える
0

MSBuildタスクとGallioタスクの出力をマージしていないように思われます。頭のてっぺんから正しい構文を覚えていません(そしてCruiseControl.NET Webサイトがダウンしているようです)が、構成ファイルを投稿すれば私がお手伝いできるかもしれません。

于 2010-02-09T12:07:30.447 に答える